NodeJs多线程、多进程、定时任务

2022-05-30  本文已影响0人  樗云

JS是单线程语言,减少了线程间切换的开销,且不用考虑锁的问题,因此适合IO密集型项目。
JS的单线程,其实指的是js主引擎线程的。除此之外还有定时器线程、异步http线程(ajax)等,最终通过Event Loop协调执行。
为了充分利用多核CPU,可以使用worker_threads实现多线程,child_processcluster实现多进程(master-worker模式)。

worker_threads

不同于浏览器中的web worker,nodejs中通过worker_threads实现多线程。通常在计算密集型场景中,才需要使用NodeJs多线程,因此使用场景较少。


child_process

electron中即经常使用该模块。

四种方法新建子进程

cluster

cluster 封装了 child_process.fork ,并内置了负载均衡,可有效实现多进程。


定时任务

上一篇 下一篇

猜你喜欢

热点阅读