这个新创建的线程中并运行常量工作复制在我们
进一步讨论之前,有必要一起了解 Web WorkersService Workers 和 Worklet 是相似的,但从长远来看,特定功能会带来很多麻烦。在本文中,我将专门谈论 WebWorkers(通常简称为 Workers) 。 Worker 是一个独立的 JavaScript 作用域,在单独的线程中运行。它是由该网页的方式生成的(并拥有它)。 ServiceWorker 是一个简短的、独立的 JavaScript 作用域,它在单独的线程中运行,并充当同一起始互联网网页的每个社区请求的代理。首先,这允许您一起实施任意复杂的缓存行为,但它的距离和时间更长,这将帮助您利用长距离组织来推送通知,此外还需要不具备其他功能的代码以防万一,有问题的网页绝对可以运行。
不管怎样对于独特的能力和进一
是一个远程 JavaScript 作用域,其 API 受到精确限制,并且可以或不可以在单独的线程上运行。查找遍历器的这一事实是浏览器可以在线程之间跳过遍历器。 AudioWorkletCSS Painting API 和 Animation Worklet 是 Worklet 的示例。 SharedWorker 是 Web Worker 的一种独特形式,因此从同一形式开始的众多选项卡或窗口可以引用相 乌拉圭移动数据库 同的 SharedWorker。这个 API 与 polyfill 一起几乎不可行,并且已经在 Blink 中正确执行,所以我不会在本新闻通讯中对此感到好奇。由于 JavaScript 被设计为与浏览器同步运行,因此与 JavaScript 一起发现的众多 API 并不是线程友好的,因为不可能存在并发地址。对于线程优先的方法,它可以通过多个线程一起并行访问和操作,而不会破坏其利用率。
这通常是使用互斥体完成的
即使在出现操作时,一个线程也会锁定重要的线程。您可以同时进行许多优化,从而更快地运行代码,而不是处理锁定此浏览器和 JavaScript 引擎的问题。另一方面,它迫使人们一起在诚 AERO 领先 实的远程 JavaScript 范围内运行,因为任何形式的记录共享都会因线程安全性的丧失而引起麻烦。尽管 Workers 是 Web 的线程原语,但它们仔细地将您可能在 C++、Java 等中使用的线程对应在一起。最大的区别是这种人类无法理解的特殊隔离方式可以访问创建它们的网页中的任何变量或代码,反之亦然。改变这一事实的最简单方法是通过消息传递 API postMessage,这是一种很棒的方法,可以在控制出发点的同时复制消息有效负载并使用消息事件。另外,Workers 无法正确访问此 DOM,因此无法从该 Worker 中进行 UI 更新 – 至少不再需要几次尝试(如 AMP 的worker-dom)