Node.js 使用节点js阻塞队列

Node.js 使用节点js阻塞队列,node.js,Node.js,我想使用NodeJS实现以下内容 多线程处理并行传入的REST调用 一种内部阻塞队列(如java中),用于阻塞超出队列大小的请求,直到队列大小低于其最大值。 这与Java的阻塞队列的实现类似 任何人都可以建议如何在node js中实现这一点。我强烈建议您保留默认的单线程实现,而不是为每个请求启动一个工作线程,或者使用一个工作线程池,除非您在node内部执行CPU密集型操作,例如使用javascript编码mp3或视频等。您不太可能将从多线程实现中获得任何额外性能,或者您需要小心,不要比优化

我想使用NodeJS实现以下内容

  • 多线程处理并行传入的REST调用
  • 一种内部阻塞队列(如java中),用于阻塞超出队列大小的请求,直到队列大小低于其最大值。
    • 这与Java的阻塞队列的实现类似

  • 任何人都可以建议如何在node js中实现这一点。

    我强烈建议您保留默认的单线程实现,而不是为每个请求启动一个工作线程,或者使用一个工作线程池,除非您在node内部执行CPU密集型操作,例如使用javascript编码mp3或视频等。您不太可能将从多线程实现中获得任何额外性能,或者您需要小心,不要比优化的单线程节点慢。jsSee:@slebetman Yes由于节点代码不是CPU密集型的,因此我使用默认的单线程实现。但问题是,在NodeJS中,我调用了一个exec命令,它派生出一个本机进程。我想限制要调用的exec的数量。基本上,我希望调用N个exec,并阻止所有其他对exec的调用,直到本机进程低于N。在Java中,使用阻塞队列非常容易,但不确定在node js中要做什么。我是NodeJS的新手。请帮助提供一些带有并发选项的promise原语,比如“阻塞”队列。