首先要明白 Node.js 不适合 CPU 密集型的本质,是没有一个简单的方法把计算过程也多线程化。
Node.js 中 IO 任务是天然多线程的,也就是所谓的异步非阻塞 IO,所以效率很高,当你开启一个 IO 任务的时候,程序可以继续做其他事。
但如果你要做的是一个又臭又长的计算任务,那自始至终都只有一个线程。
这就很炸裂了。
Node.js里也存在 Worker Threads、Cluster之类的方法可以让你手动迁移计算任务,但都不是很方便,以及开销过大…。
上一篇:为什么章若楠和杨超越长得很像,男人却更喜欢章若楠,认为有女人味,而觉得杨超越像小女孩?
下一篇:为什么有些门开关时特别容易夹手?背后的设计缺陷可能有哪些?