【发布时间】:2021-11-04 03:05:13
【问题描述】:
我想在 node.js 应用程序中创建一个工作线程并将当前上下文传递给新线程,这样我就可以在新线程中访问我的变量和函数,是否有库支持那?如果不能,我至少可以在它们之间传递一个匿名函数吗?
【问题讨论】:
-
线程的概念是它们与其他进程完全隔离,因为它们运行在不同的 cpu 内核上并且可能处于完全不同的状态/速度。这就是为什么您无法访问启动它的原始线程。
-
@Kokodoko 在其他编程语言中这是可能的,所以我认为这不是技术限制,而是 Node.js 团队的意识形态。
-
@dev3dev JavaScript 传统上是同步运行的。因此,它不知道信号量。但是信号量对于在两个或多个并行运行的线程之间共享数据是必要的。
标签: javascript node.js v8 worker-thread node-worker-threads