【问题标题】:Does importScripts pause worker thread execution? (Dedicated worker)importScripts 会暂停工作线程执行吗? (专职工作人员)
【发布时间】:2021-08-30 12:01:28
【问题描述】:

WebAPI specs 提到 importScripts 同步加载脚本

Here 是实现此功能的铬代码。

但是,我的理解是 web api 在单独的线程池中运行。由于 importScripts 是一个 Web api 产品,因此它应该与工作线程分开运行,而不是暂停工作线程的执行。那么在这种情况下同步是什么意思呢?

【问题讨论】:

    标签: google-chrome chromium web-worker webapi


    【解决方案1】:

    (回答我自己的问题,因为我有见识)

    问题中指出了两个事实:

    1. importScripts 是同步的
    2. importSripts 不在工作线程上运行(即它在 V8 运行时之外运行)

    我的误解是这两个事实是矛盾的。他们不是! 作为一个 web api,它被实现为本地浏览器代码。但这并不能保证并发。 另一个例子是当你用synchronous = true 调用XmlHttpRequest.send() 时。

    底线:与 JS 运行时线程分开运行不保证异步。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-14
      • 2023-03-09
      • 2015-09-05
      相关资源
      最近更新 更多