Node.js一千问(2):worker threads和clusters有何不同?

worker threads和clusters的区别。

工作线程(worker threads)

  • 有多个线程的进程总共只有一个。
  • 每个线程都有一个Node实例(一个事件循环,一个JS引擎),大多数api都可以访问。
  • 与其他线程共享内存(例如SharedArrayBuffer)。
  • 可用于cpu密集型任务,如处理数据或访问文件系统,因为NodeJS是单线程的,同步任务能够更有效地利用工作线程。

集群(clusters)

  • 每个CPU上有一个进程和一个IPC进行通信。
  • 如果我们想让多个服务器通过单个端口接受HTTP请求,集群可能会很有用。
  • 在每个CPU中产生的进程将有单独的内存和节点实例,这将进一步导致内存问题。

Leave a Comment

您的电子邮箱地址不会被公开。 必填项已用*标注