另一方面认为它们的利用率仍然很低这是由于人

们不寻常的人体工程学原理。 JavaScript 并发模型 任何想要使用 Workers 的实用程序都应该调整其结构以满足 Workers 的要求。 JavaScript 只是帮助实现美妙的并发模型,这些模型经常被归结为“非本质线程结构”这一术语。两者都使用 Workers,但采用非常独特的方法,并且每个都有自己的一套替代方案。任何给定的实用程序通常都会出现在这两个极端之间。并发模型 1 actor 我个人倾向于将 Workers 视为 Actor,如 Actor 版本中所述。 Actor 模型最著名的化身可能是编程语言 Erlang 。每个参与者也可以或不会在单独的线程上运行并完全拥有其正在操作的数据。

因此有其他线程可以访问它

需要像互斥锁这样的渲染同步机制。参与者可以最简单地相互发送消息并对获取的消息做出反应。例如,我经常考虑主线程,因为它是拥有 DOM 和所有 UI 的参与者。它负责更新UI和拍照输入场合。另一个问题可能与应用程序的王国有关。 DOM 参与者将低级输入事件转换为实用级语义活动,并将其发送给国家参与者。国家行为者完全根据他们收到的事件交换王国小工具,可能使用国家系统或可能与其他行为者有关。一旦状态项是 芬兰手机号码列表 最新的,它就会将更新后的状态对象的副本发送给 DOM actor。 DOM actor 现在完全基于全新的王国对象更新 DOM。 Paul Lewis 和我在 2018 年 Chrome 开发峰会上提到了以参与者为中心的应用程序结构。

消息都想复制这需要多长时间不仅取决于

长度还取决于软件运行的工具。在我看来,postMessage 通常足够快,但在某些情况下还不够。另一个问题是平衡将代码传输到员工线程以释放主线程,即使必须支付会话开销,并且工作线程在响应消息之前忙于浏览不同的代码。如果您现在不小心,人们可能会对 UI 响应能力产生负面影响。您可以通过 postMessage 发送的消息非常复杂。底层规则集(称为基于克隆)可以处理循环事实结构,甚至 Maps 和 Sets 。但它不能处理函数或类,因为代码不能在 JavaScript 中的整个范围内共享。这是一个巨大的创伤,试图向某个功能发 购买电子邮件列表 送消息会引发错误,而优雅只是默默地转变为日常 JavaScript 项目,从而失去了技术中的技术(这背后的细节令人兴奋,但可能超出了范围)本文的范围