Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Multithreading 为什么不允许web工作人员修改dom_Multithreading_Html_Web Worker - Fatal编程技术网

Multithreading 为什么不允许web工作人员修改dom

Multithreading 为什么不允许web工作人员修改dom,multithreading,html,web-worker,Multithreading,Html,Web Worker,我知道webworkers作为一个独立于UI线程的线程工作,但我不明白为什么不允许他们修改DOM。我的意思是,您可以允许线程间通信,将DOM数据保存在共享空间中,并让webworkers线程修改DOM。为什么浏览器中不允许这样做?因为DOM不是线程安全的,JavaScript不公开线程API 另见: “如果一段代码可以被多个线程同时安全地调用,那么它就是线程安全的。”您能告诉我一些参考资料,我可以从中了解更多关于DOM线程安全的信息吗?thanksIt不是线程安全的,也从来没有打算这样

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

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


另见:


“如果一段代码可以被多个线程同时安全地调用,那么它就是线程安全的。”您能告诉我一些参考资料,我可以从中了解更多关于DOM线程安全的信息吗?thanksIt不是线程安全的,也从来没有打算这样做,因为JavaScript没有任何线程或其他并发/并行结构的概念。就是这样。几乎每种编程语言都会使用GUI:只有主线程才能调用GUI函数(例如:Android、Delphi)