Spidermonkey中的JavaScript线程实现
我需要在我的应用程序中像Web Workers一样实现多线程,我们计划使用Spidermonkey来执行javascript。我想要类似API的东西:Spidermonkey中的JavaScript线程实现,javascript,multithreading,actor,spidermonkey,Javascript,Multithreading,Actor,Spidermonkey,我需要在我的应用程序中像Web Workers一样实现多线程,我们计划使用Spidermonkey来执行javascript。我想要类似API的东西: function BackgroundWorker() { // do something } someglobalobject.spawnWorker(BackgroundWorker); 其中,someglobalobject.spawnWorker是一个C绑定,它在worker被延迟时生成线程或不生成线程,创建新的JSConte
function BackgroundWorker() {
// do something
}
someglobalobject.spawnWorker(BackgroundWorker);
其中,someglobalobject.spawnWorker是一个C绑定,它在worker被延迟时生成线程或不生成线程,创建新的JSContext,将函数BackgroundWorker传输到该上下文并执行它。
我们计划通过传入/传出worker的消息来实现资源共享worker可以注册一些事件挂钩或通过C绑定调用接收消息,也可以通过C绑定到某种共享内存STM。充其量我们希望为JS实现某种Erlang风格的角色。所以我有几个问题:
是否有一些例子可以实现这个东西,但不像Web Workers那样太复杂?
JSContext的足迹是什么?有可能会创建很多,或者会导致一些性能瓶颈?
是否有能力在某个从JavaScript调用的C绑定中暂停JavaScript执行?