搜尋

首頁  >  問答  >  主體

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

最近在不断的理解nodejs。

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

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

怪我咯怪我咯2872 天前674

全部回覆(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
  • 取消回覆