Node.js 的特性就是 单线程
异步 I/O没有所謂的 多线程
。
如果利用 pm2 之类的 cluster 集群模式是 多进程
而非 多线程
。
如果你知道的恰好多一些知道有 threads_a_gogo
这个模块,那么它本质上是利用了 Linux 的系統调用 fork
来实现的实质上还是 多进程
(而且这个库作者都不推荐在生产环境中使用)。
一时没想到还有 Workers 这种东西浏览器倒是早就支持了,不过 Node 刚刚才在 v13 中把这个特性标记成 stable目前是没见过哪个框架或是生产项目用这个特性的。
不过 Workers 的底层原理和其他语言中的多线程还是有鈈小区别的而且也只适用于 CPU 密集型,对于 I/O 密集型反而会降低性能(话说回来了,后端都用 Node 了还能有啥是 CPU 密集的了?)