首先要明白 Node.js 不适合 CPU 密集型的本质,是没有一个简单的方法把计算过程也多线程化。
Node.js 中 IO 任务是天然多线程的,也就是所谓的异步非阻塞 IO,所以效率很高,当你开启一个 IO 任务的时候,程序可以继续做其他事。
但如果你要做的是一个又臭又长的计算任务,那自始至终都只有一个线程。
这就很炸裂了。
Node.js里也存在 Worker Threads、Cluster之类的方法可以让你手动迁移计算任务,但都不是很方便,以及开销过大…。
首先要明白 Node.js 不适合 CPU 密集型的本质,是没有一个简单的方法把计算过程也多线程化。
Node.js 中 IO 任务是天然多线程的,也就是所谓的异步非阻塞 IO,所以效率很高,当你开启一个 IO 任务的时候,程序可以继续做其他事。
但如果你要做的是一个又臭又长的计算任务,那自始至终都只有一个线程。
这就很炸裂了。
Node.js里也存在 Worker Threads、Cluster之类的方法可以让你手动迁移计算任务,但都不是很方便,以及开销过大…。
项目起因2021 年,我在面试中多次被问到数据库内核相关问题...
2025-06-23阅读全文 >>大家好 我是 500佰,技术宅男 目前正在前往独立开发路线,...
2025-06-23阅读全文 >>某天在公园健身区,看到一个五十多岁的大妈身穿紧身瑜伽裤在拉伸...
2025-06-23阅读全文 >>我觉得 Flutter fans 真的是很神奇的群体... ...
2025-06-23阅读全文 >>初版的全套哈利波特***,还有机器猫全套22本超长篇和45本...
2025-06-23阅读全文 >>