我有一些我想在 JS 中完成的任务是资源密集型的。对于这个问题,我们假设它们是一些繁重的计算,而不是系统访问。现在我想同时运行任务 A、B 和 C,并在完成后执行一些函数 D。
异步库为此提供了一个很好的脚手架:
async.parallel([A, B, C], D);
如果我正在做的只是计算,那么它仍然会同步运行(除非库本身将任务放在不同的线程上,我希望情况并非如此)。我如何使它实际上是平行的?异步代码通常会做什么来不阻塞调用者(使用 NodeJS 时)?它是否启动了一个子进程?