Ste*_*nou 8 javascript html5 web-worker
我正在使用Web工作人员进行一些CPU密集型工作,但要求工作人员在工作人员仍在处理时响应来自父脚本的消息.
然而,工作人员在处理循环中被锁定时不会响应消息,而我还没有找到一种说明轮询消息队列的方法.因此,似乎唯一的解决方案是以一定间隔中断处理以允许对队列中的任何消息进行服务.
显而易见的选择是使用计时器(比如使用setInterval)但是我已经读过,启动之间的最小延迟很长(http://ajaxian.com/archives/settimeout-delay)这很不幸,因为它会减慢处理速度很多.
其他人对此有何看法?我将尝试onmessage在每个结束时让工作人员自己调度onmessage,从而有效地实现从每个事件收到的处理循环的一个步骤,但只是想知道是否有人对此有任何想法.
谢谢,
小智 6
工人可以产生子工人.您可以让主工作者充当您的消息队列,当它收到长时间运行操作的请求时,会产生一个子工作程序来处理该数据.然后,子工作人员可以将结果发送回主工作程序,以从队列中删除事件并将结果返回给主线程.这样,您的主要工作人员将始终可以自由地收听新消息,并且您可以完全控制队列.
- 缺口
| 归档时间: |
|
| 查看次数: |
2465 次 |
| 最近记录: |