cari

Rumah  >  Soal Jawab  >  teks badan

node.js - 异步编程 能解决 CPU密集型计算 的问题吗。

最近在不断的理解nodejs。

经常看到nodejs不适用于CPU密集型计算的场景,那我们在nodejs中也经常使用异步编程async来执行耗时的查询操作,查询完,再返回就可以了。是不是异步编程来解决CPU密集型计算的问题?

结论:
异步编程是用来解决IO的。
js是单线程,cpu密集型计算还是会耗时。

怪我咯怪我咯2784 hari yang lalu620

membalas semua(2)saya akan balas

  • 巴扎黑

    巴扎黑2017-04-17 12:08:20

    不行,要理解 javascript 只有一个执行线程,只要进入了计算密集区,cpu就被占用了,整个程序都卡在这里。io之所以可以使用异步加速,是因为io的延时期间并不占用cpu。

    balas
    0
  • 黄舟

    黄舟2017-04-17 12:08:20

    不行,异步编程是专门解决io密集型问题的。当io被block住的时候,使用异步事件,释放CPU资源给其他任务。

    本质上异步编程会趋向于尽可能的使用CPU资源,所以对CPU密集型程序,完全没有什么意义。。。

    这个时候应该考虑并行计算,分布式计算。

    balas
    0
  • Batalbalas