这两种并发方式。多受评估,从允许代码在线程中的某个阶段发布消息到百分比对象,再到更好程度的类似于调度程序的 API,因为它们在本地平台上很常见。它们都没有达到标准化技术的关键程度,所以我可能不会在这里花时间讨论它们。如果您好奇,请按照 TC39 思想看看下一代 JavaScript 保留了什么。总结 Worker 是一个关键设备,它可以阻止任何突然的长时间运行代码阻塞浏览器渲染,从而保持主线程的响应和流畅。由于与员工通信本质上是异步的,员工的采用需要对您的网络应用程序进行一些架构更改,但在返回后,您将能够毫无问题地支持大量访问网络的设备。 。您需要确保采用一种可以轻松循环代码的结构,以便可以减轻不重要线程体系结构的性能影响。
社区工作者人体工程学曲线
但最大的复杂因素可以通过 Comlink 等库抽象出来。更多资源慢速 常见问题解答有一些问题和想法受到了大众的欢迎,所以我想先发制人并在这里记录我的解决方案。 postMessage 是否很慢?我 奥地利手机数据库 所有性能问题的中心建议是程度第一!在你获得文凭之前,没有什么是渐进的(或快速的)。然而根据我的经验,postMessage 通常足够快。根据经验,如果 JSONstringifymessagePayload 低于 10KB,即使在最慢的电话上,您也几乎没有机会创建冗长的帧。
如果它最终成为软件的瓶颈,请记住以下技术
将您的绘画分成较小的数量,以便您可以发送较小的消息。如果消息是一个国家项目,其中最简单的一个小组件发生了更改,则在整个项目的位置发送补丁(差异)。如果您发送大量消息以将多条消息批量合并为一条消息,它也会很有用。作为最后一个旅馆,您可以尝试切换到消息的数字示例并传输 ArrayBuffer,而不是发送基于对象 BSB 目录 的消息。这些技术中哪一个是正确的取决于事态,并且可以通过测量和排除瓶颈的方式来简单地回答。我想从 Worker 获得对 DOM 的访问权。我从中收获了很多。然而在大多数情况下,这只能解决问题。您冒着正确生长第二个重要线程的风险,该线程仅在一个特殊线程中具有所有相同的问题。为了使 DOM 能够安全地从多个线程获得访问权,需要包含会减慢 DOM 操作速度的锁。这可能会损坏许多礼品网应用程序。此外,lockstep版本还有一些好处。它为浏览器提供了平滑的标记,同时 DOM 处于合法的状态来渲染到屏幕上。