在独立的V8 Javascript引擎中使用Web-Workers

时间:2014-03-31 23:23:52

标签: javascript html5 v8 web-worker

我尝试采用V8发行包中的shell.cc示例用于我自己的目的。

我想生成一个web-worker来执行一个长时间运行的脚本,然后执行:

var myWorker = new Worker("my_task.js");

但是我收到以下错误消息:

(shell):1: ReferenceError: Worker is not defined
var myWorker = new Worker("my_task.js");
                   ^
ReferenceError: Worker is not defined
    at (shell):1:20

有没有办法在V8引擎中激活Web Workers?

提前感谢您对此问题的任何帮助!

2 个答案:

答案 0 :(得分:3)

我认为您使用Child Process library for node或其他一个实现线程的库。据我所知,Web worker是一个浏览器,不是标准node.js实现的一部分,如果你想要那种API,你需要使用实现类似API的第三方库。

其他有用的参考资料:

Lightweight Web Worker API implementation with native threads

Concurrency on Node Discussion

Web Worker implementation in node

答案 1 :(得分:1)

虽然为时已晚:但对于仍在寻找它的任何人:

查看 v8 源代码中的 d8.cc 文件,它暴露了 Worker 模板: enter image description here