84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
最近在不断的理解nodejs。
经常看到nodejs不适用于CPU密集型计算的场景,那我们在nodejs中也经常使用异步编程async来执行耗时的查询操作,查询完,再返回就可以了。是不是异步编程来解决CPU密集型计算的问题?
结论:异步编程是用来解决IO的。js是单线程,cpu密集型计算还是会耗时。
走同样的路,发现不同的人生
不行,要理解 javascript 只有一个执行线程,只要进入了计算密集区,cpu就被占用了,整个程序都卡在这里。io之所以可以使用异步加速,是因为io的延时期间并不占用cpu。
不行,异步编程是专门解决io密集型问题的。当io被block住的时候,使用异步事件,释放CPU资源给其他任务。
本质上异步编程会趋向于尽可能的使用CPU资源,所以对CPU密集型程序,完全没有什么意义。。。
这个时候应该考虑并行计算,分布式计算。
不行,要理解 javascript 只有一个执行线程,只要进入了计算密集区,cpu就被占用了,整个程序都卡在这里。io之所以可以使用异步加速,是因为io的延时期间并不占用cpu。
不行,异步编程是专门解决io密集型问题的。当io被block住的时候,使用异步事件,释放CPU资源给其他任务。
本质上异步编程会趋向于尽可能的使用CPU资源,所以对CPU密集型程序,完全没有什么意义。。。
这个时候应该考虑并行计算,分布式计算。