如何在其他线程中调用函数

时间:2017-12-03 18:13:28

标签: javascript node.js multithreading child-process worker

我的代码中有一个在node.js函数中的重算法。

我想在另一个线程上调用此函数来保存性能。 我试过了:

let ChildProcess = require('child_process');
const thread1 = ChildProcess.spawn(function ()
{
  reloadData();
});

function reloadData() { /* code */ }

但它不起作用。我想在当前的.js文件中调用此函数,而不是在其他.js文件中 谢谢!

1 个答案:

答案 0 :(得分:2)

您无法找到您正在寻找的示例,因为这不是任何child_process功能的工作方式。你无法做你想做的事情。

您需要将其他函数放在一个新的node.js程序中,然后使用child_process模块​​运行该其他程序。

然后,您可以使用各种不同的表单在两个进程之间进行通信,例如stdio或tcp网络。

您也没有正确使用spawn()的参数。如果查看第一个参数in the doc,那么第一个参数是在本地系统中运行的命令或其他程序。它不是本地Javascript的一部分。