新的Webworker或postMessage每次都会创建新的Thread

时间:2016-01-12 18:46:16

标签: javascript html5 multithreading javascript-events web-worker

要使用Web worker获取新线程,我们是否需要为每个复杂的计算创建新的worker对象?

或者我只能创建一个工作对象,只需将Message发布到工作者JavaScript文件即可。

假设我必须为3个不同的输入计算某些东西,计算逻辑是相同的但输入将是不同的。

我是否需要创建3个新的工作对象,或者我只能创建一个工作者并发布3个不同的消息以获得3个独立的线程来进行计算?

1 个答案:

答案 0 :(得分:1)

取决于您的要求。

3个新的工作线程将并行执行计算。

发布到同一工作线程实例的3个不同消息将按顺序计算这些消息的发布。注意:在这种情况下,您仍然需要一个Web工作者,以便这些计算不会阻止您的UI。