Sab*_*san 5 javascript worker web-worker
我一直在javascript中使用网络工作者.如果窗口,文档引用存在于Web worker环境中,那将是一个锦上添花.我想知道为什么选择不在工人中提供这些参考资料的原因是什么?
还有任何解决方法使用这些参考?
标准JavaScript和DOM API绝对没有排除机制,允许多个线程安全地访问相同的对象.
通常选择允许在JavaScript中进行多任务处理的解决方案是隔离线程,只让它们通过消息(或事件)进行交换.允许对Web工作者访问DOM将打破这种隔离.
请注意,这并非完全特定于JavaScript:几乎所有GUI框架(无论语言如何)都将GUI的修改限制为一个专用线程.JavaScript更具限制性,因为大多数情况下(总是在浏览器中)您根本无法共享对象.
简单的解决方法是让后台线程通过消息给出指令时,让浏览器中的主线程执行您需要进行的修改.或者更确切地说:只做webworker中的CPU扩展任务,让主线程获取输入数据,并在webworker发送输出数据时更新DOM.
| 归档时间: |
|
| 查看次数: |
415 次 |
| 最近记录: |