如何在nodejs中创建线程池?
问题描述:
所以出于好奇,我想在nodejs中创建自己的线程池,从中可以并行运行多个线程?一直期待webworker-threads和npool但不是很了解它..如何在nodejs中创建线程池?
是否有可能在nodejs中创建一个线程池? 也如何执行线程数/线程/ chid_processes创建池中的线程数?像是分布式系统?
答
是的,git上有一个开源项目叫做Threads gogo,它是为节点编写的。线程àgogo(*)是Node.js的本地模块,它为移动阻塞/冗长的CPU绑定任务提供异步,均匀和/或延续传递样式API从节点的事件循环中移出到在后台并行运行并且自动使用所有可用CPU核心的JavaScript线程;全部来自单个节点进程。
Installing the module
With npm:
npm install threads_a_gogo
From source:
git clone http://github.com/xk/node-threads-a-gogo.git
cd node-threads-a-gogo
node-gyp rebuild
# It also works with node-waf, but this is outdated, so please use node-gyp nowdays.
To include the module in your project:
var threads_a_gogo= require('threads_a_gogo');