JavaScript引入了window.Worker
,允许脚本并行运行。想进一步了解并行性。示例代码是,
<script>
var worker = new Worker('worker.js');
worker.onmessage = function (event) {
document.getElementById('result').textContent = event.data;
};
</script>
如果操作系统遵循1-1线程模型,
然后,是否将Web worker用户线程分配给专用内核线程?
答案 0 :(得分:1)
是的,它可以。它一般取决于浏览器,但重点是允许真正的并行性,如果没有真正的线程就无法实现:
例如检查google book。
答案 1 :(得分:1)
HTML5规范有一个工人概念,但没有规定它们是如何实现的。
如何实现工作者取决于浏览器。实施可能会选择实施工人:
例如,V8(在Chrome中找到)使用操作系统线程来实现线程 - 所以如果你看一下V8的posix.cpp
,你会看到对pthreads
的引用。典型的现代操作系统通常会尝试在CPU内核之间传播线程。