首先要明白 Node.js 不适合 CPU 密集型的本质,是没有一个简单的方法把计算过程也多线程化。
Node.js 中 IO 任务是天然多线程的,也就是所谓的异步非阻塞 IO,所以效率很高,当你开启一个 IO 任务的时候,程序可以继续做其他事。
但如果你要做的是一个又臭又长的计算任务,那自始至终都只有一个线程。
这就很炸裂了。
Node.js里也存在 Worker Threads、Cluster之类的方法可以让你手动迁移计算任务,但都不是很方便,以及开销过大…。
上一篇:深圳一房屋出现沉降和墙体开裂情况,已封控 25 栋房屋,为什么会出现这种情况?有哪些安全隐患?
下一篇:伊朗和以色列为什么此时爆发冲突?背后有哪些深层原因?