我需要在我的应用程序中实现像Web Workers这样的多线程,我们计划使用Spidermonkey来执行javascript。我想要那样的API:
function BackgroundWorker() {
// do something
}
someglobalobject.spawnWorker(BackgroundWorker);
其中someglobalobject.spawnWorker是生成线程的C绑定(如果worker延迟,则不生成),创建新的JSContext,将函数 BackgroundWorker 传递给该上下文并执行它。 我们计划通过向/从工作人员传递消息来实现资源共享(工作人员可以通过C绑定调用注册一些事件挂钩或接收消息),也可能通过C绑定到某种共享内存(也许是STM)。我们最好为JS实现某种Erlang风格的actor。所以我有几个问题: