web-worker – 如果我仍然在使用web worker时继续使用postMessage()会发生什么?

web-worker – 如果我仍然在使用web worker时继续使用postMessage()会发生什么?,第1张

概述我是网络工作者的新手,但我遇到的一个问题是,给出以下场景: >我生成一个Web worker并在Worker中设置onmessage处理程序 >然后我在主线程中使用postMessage()来触发Worker的onmessage >当最后一个onmessage任务仍在进行中时,我立即调用另一个postMessage 然后,我想知道工人是如何处理的? 消息保存在队列中.工作人员就像主线程一样,拥有一 我是网络工作者的新手,但我遇到的一个问题是,给出以下场景:

>我生成一个Web worker并在Worker中设置onmessage处理程序
>然后我在主线程中使用postMessage()来触发Worker的onmessage
>当最后一个onmessage任务仍在进行中时,我立即调用另一个postMessage

然后,我想知道工人是如何处理的?

解决方法 消息保存在队列中.工作人员就像主线程一样,拥有一个消息队列 – 从事件(例如,click),setTimeout和postMessage启动任务.以下是它的工作原理:

这同样适用于主线程以及Node.Js.这是javascript的工作原理.

因此,对于您的答案 – 您发送给工作人员的所有消息将按照您处理它们的相同顺序逐个处理.

这是一个jsFiddle as a test that my claim is true.您将看到虽然所有消息都是一次发送的,但它们会按顺序处理.

总结

以上是内存溢出为你收集整理的web-worker – 如果我仍然在使用web worker时继续使用postMessage()会发生什么?全部内容,希望文章能够帮你解决web-worker – 如果我仍然在使用web worker时继续使用postMessage()会发生什么?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1070418.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存