Node.js 多进程处理CPU密集任务的实现
Node.js单线程与多进程
大家都知道Node.js性能很高,是以异步事件驱动、非阻塞I/O而被广泛使用。但缺点也很明显,由于Node.js是单线程程序,如果长时间运算,会导致CPU不能及时释放,所以并不适合CPU密集型应用。
当然,也不是没有办法解决这个问题。虽然Node.js不支持多线程,但是可创建多子进程来执行任务。
Node.js提供了child_process和cluster两个模块可用于创建多子进程
下面我们就分别使用单线程和多进程来模拟查找大量斐波那契数进行CPU密集测试
以下代码是查找500次位置为35的斐波那契数(方便测试,定了一个时间不需要太长也不会太短的位置)
单线程处理
代码:single.js
functionfibonacci(n){
if(n==0||n==1){
returnn;
}else{
returnfibonacci(n-1)+fibonacci(n-2);
}
}
letstartTime=Date.now();
lettotalCount=500;
letcompletedCount=0;
letn=35;
for(leti=0;i
热门推荐
10 祝女儿简短祝福语大全
11 大学新年祝福语简短创意
12 元旦适合的祝福语简短
13 朋友出远门祝福语简短
14 初六简短的祝福语
15 祝男孩生日祝福语简短
16 同事调离的祝福语简短
17 拜年红包的祝福语简短
18 妈妈生日祝福语简短励志