可以通过将路径传递到单独的 JavaScript 文档来构建

该文档可能会加载到这个新创建的线程中并运行 const employee copy 在我们进一步深入之前,请务必注意,Web WorkersService Workers 和 Worklet 是可比的,但从长远来看,对于同类功能之一来说,事情是不同的。我特别谈论 WebWorkers(通常简称为 Worker)。 Worker 是一个独立的 JavaScript 作用域,在单独的线程中运行。它是通过页面生成的(并拥有它)。 ServiceWorker 是一个短暂的、公正的 JavaScript 范围,它在单独的线程中运行,并充当同一原始页面的每个网络请求的代理。首先也是重要的是,这允许您实施任意复杂的缓存行为,但它还可以延长,以帮助您利用长时间运行的后台获取推送通知,除了需要没有相关网页的代码其他功能以防万一运行。

然而于特定目的和进一步的限制它可

是一个隔离的 JavaScript 作用域,其 API 受到严格限制,并且可以或可能不在单独的线程上运行。运行单元的要点是浏览器可以在线程之间移动工作集。 AudioWorkletCSS Painting API 和 Animation Worklet 是 Worklet 的示例。 SharedWorker 是一种独特的 Web Worker 类型,因为来自同一来源的多个选项卡或窗口可以引用相同的 SharedWorker 。这个 API 有点不可能进行 polyfill,并且仅在 Blink 中应用过,所以我可能不会在本新闻稿中关注它。由于 JavaScript 被设计为 加拿大手机数据库 与浏览器同步运行,因此许多暴露给 JavaScript 的 API 都不是线程安全的,因为可能没有并发性需要处理。对于一个数据结构来说,它是线程安全的,可以通过几个线程并行地访问和操作它,而不会破坏它的国家。

这通常是使用互斥体完成的

一个线程在出现操作的同时锁定其他线程。无需处理锁定浏览器和 JavaScript 引擎的问题,您可以进行大量优化以更快地运行代码。另一方面,它迫使工作人员在完全隔离的 JavaScript 范围内运行,因为任何形式的统计数据共享都会因缺乏线程保护而引起麻烦。尽管 Workers 是 Web 的线程原语,但它们可能与您在 C++、Java 等中使用的线程非常不同。最大的区别在于,所需的隔离方法是人们无法从创建它们的页面访问任何变量或代码,反之亦然。交易事实的唯一方法是通过用于消息传递的 API postMessage 该 API 将复制消息有效负载并在接收端触发消 购买电子邮件列表  息事件。这也意味着 Workers 无权访问 DOM,因此无法从 Worker 进行 UI 更新 – 至少不需要付出很大的努力(例如 AMP 的员工-dom)

Leave a comment

Your email address will not be published. Required fields are marked *