検索

ホームページ  >  に質問  >  本文

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

最近在不断的理解nodejs。

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

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

怪我咯怪我咯2782日前618

全員に返信(2)返信します

  • 巴扎黑

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

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

    返事
    0
  • 黄舟

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

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

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

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

    返事
    0
  • キャンセル返事