multithreading - 为什么不允许 web worker 修改 dom

标签 multithreading html web-worker

我知道 web workers 作为一个单独的线程工作,而不是 UI 线程 但我不明白为什么不允许他们修改 DOM .我的意思是您可以允许线程间通信并将 DOM 数据保存在共享空间中,并让 web workers 线程修改 DOM。为什么浏览器不允许这样做?

最佳答案

因为 DOM 不是线程安全的,而 JavaScript 不公开线程 API。


另见:

关于multithreading - 为什么不允许 web worker 修改 dom,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7082190/

相关文章:

javascript - 在专用 Worker 中生成共享 Worker

ecmascript-6 - 在服务 worker 中使用 browser.js

javascript - 是否可以允许在javascript的主线程中等待

c++ - 使 std::thread 异常安全的最简单方法

c++ - 在多线程 C/C++ 中,malloc/new 在分配内存时是否锁定堆

c# - 从 native (C++) 线程通过 Marshal.GetFunctionPointerForDelegate 调用托管函数 (C#)

PHP 多个下拉框表单提交到 MySQL(第 2 部分)

c++ - 异步函数调用,带有检查进度的方法

css - 包含多行的 HTML header

javascript - Soundcloud:检测缺少的 localStorage 支持并通知用户