Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想在 node.js 应用程序中创建一个工作线程并将当前上下文传递给新线程,这样我就可以在新线程中访问我的变量和函数,是否有支持它的库?如果不能,我至少可以在它们之间传递一个匿名函数吗?
无法与工作线程共享上下文。这不是“Node.js 团队的意识形态”,而是 JavaScript 语言的限制,它不允许并发(例如从工作线程并发访问对象)。
一个例外是您可以使用SharedArrayBuffer.
SharedArrayBuffer
除此之外,向工作线程发送数据或从工作线程接收数据的方法是使用postMessage. 另请参阅 Node 的完整工作线程文档。
postMessage
为了完整起见:有一个早期提议要向 JavaScript 添加一种新的跨线程可共享对象。与所有早期提案一样,无法保证它会最终确定或可能需要多长时间,但它确实表明对该领域有一些兴趣。