当网络工作者 class 被垃圾收集时会发生什么
What happens when a web worker class gets garbage collected
我有一个 class,它在实例化 class 时处理新 Web Worker 的创建,post 给 Worker 的消息是 returns 一个承诺当工作人员完成任务时,这个问题就会得到解决。基本上,我正在调用一个 class 来处理创建、posting、侦听和终止 worker。
但是,如果我创建这个 class 的新实例,post 一条消息,并结束我的函数,worker 会发生什么?它会变成孤立的并保持 运行 它的任务直到完成吗?
另外,这有点离题,但是一次实例化 n
个 worker 会有多糟糕? 8? 20? 50?浏览器如何处理?
Does it become orphaned and keeps running its task until it's done?
是的。根据规范,在这种情况下,事件循环必须 运行 完成,worker 被标记为 "suspendable",最后,
Reference 第 10 步
how bad would it be to instantiate n number of workers at once? 8? 20?
50?
你可以在这里玩:http://math.hws.edu/eck/jsdemo/jsMandelbrot.html
我亲眼目睹了 16 个 worker 应用程序的嗡嗡声。必须考虑 spinup/teardown 和消息传递之间的权衡。
我有一个 class,它在实例化 class 时处理新 Web Worker 的创建,post 给 Worker 的消息是 returns 一个承诺当工作人员完成任务时,这个问题就会得到解决。基本上,我正在调用一个 class 来处理创建、posting、侦听和终止 worker。
但是,如果我创建这个 class 的新实例,post 一条消息,并结束我的函数,worker 会发生什么?它会变成孤立的并保持 运行 它的任务直到完成吗?
另外,这有点离题,但是一次实例化 n
个 worker 会有多糟糕? 8? 20? 50?浏览器如何处理?
Does it become orphaned and keeps running its task until it's done?
是的。根据规范,在这种情况下,事件循环必须 运行 完成,worker 被标记为 "suspendable",最后,
Reference 第 10 步
how bad would it be to instantiate n number of workers at once? 8? 20? 50?
你可以在这里玩:http://math.hws.edu/eck/jsdemo/jsMandelbrot.html
我亲眼目睹了 16 个 worker 应用程序的嗡嗡声。必须考虑 spinup/teardown 和消息传递之间的权衡。