美文网首页
NodeJs多线程、多进程、定时任务

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

作者: 李霖弢 | 来源:发表于2022-05-30 10:41 被阅读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中即经常使用该模块。

  • exec、execSync
    执行shell命令
  • execFile、execFileSync
    执行外部应用
  • spawn、spawnSync
    执行外部应用,并输出流
  • fork
    执行Node应用,父子进程间存在IPC通道收发消息
    • 在子进程中:
      process.on('message') + process.send()
    • 在父进程中:
      child.on('message') + child.send()
四种方法新建子进程

cluster

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


定时任务

  • node-schedule
  • node-cron
  • cron

相关文章

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

    JS是单线程语言,减少了线程间切换的开销,且不用考虑锁的问题,因此适合IO密集型项目。JS的单线程,其实指的是js...

  • 简单了解进程、线程、协程

    当单任务不能满足工作的需要,只是需要使用多任务,多任务分为多进程,多线程,多协程 先有进程,进程创建线程,线程依附...

  • 网络爬虫:多任务-进程、线程

    实现多任务的方式 多线程多进程协程多线程+多进程 为什么你能够实现多任务? 并行:同时发起,同时执行,多进程,进程...

  • python多任务之多进程

    一个任务是一个进程,进程内的子任务称为线程。多任务的实现有3种方式: 多进程模式; 多线程模式; 多进程+多线程模...

  • 多进程和多线程编程

    多任务的实现方式: 多进程模式 多线程模式 多进程 + 多线程 模式python即支持多进程,又支持多线程,如下进...

  • Springboot配置多线程定时任务Schedule

    一.为什么需要配置多线程定时任务& 多线程定时任务的配置使用场景 springboot中通过注解 @Schedul...

  • Node进程process(一)

    进程 nodejs 本本是单线程,为了充分的利用我们的服务器,nodejs 可以开启多线程。 process 挂载...

  • 多线程入门

    一、多线程 1、概念: 多任务同时执行就是多线程,如果没有任务,就不需要使用多线程 线程和进程之间的区别: 进程:...

  • python 进程,队列

    1.进程,队列 在python中虽然不能发挥多线程的优势,但是对于tensorflow中,多线程任务,我们可以写多...

  • nodejs实现多进程(cluster 模式)

    Nodejs的主进程是单线程的,但它有多线程处理方案(更准备来说是多进程方案),即主进程开启不同的子进程,主进程接...

网友评论

      本文标题:NodeJs多线程、多进程、定时任务

      本文链接:https://www.haomeiwen.com/subject/oacoprtx.html