如何用nodejs的worker_threads模块创建新线程处理长尾词任务?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2495个文字,预计阅读时间需要10分钟。
简介:Node.js中存在两种线程,一种是event loop,用于处理用户请求和callback;另一种是worker pool,用于处理耗时操作。官方文档提到了no的功能。
简介
之前的文章中提到了,nodejs中有两种线程,一种是event loop用来相应用户的请求和处理各种callback。另一种就是worker pool用来处理各种耗时操作。
nodejs的官网提到了一个能够使用nodejs本地woker pool的lib叫做webworker-threads。
可惜的是webworker-threads的最后一次更新还是在2年前,而在最新的nodejs 12中,根本无法使用。
而webworker-threads的作者则推荐了一个新的lib叫做web-worker。
web-worker是构建于nodejs的worker_threads之上的,本文将会详细讲解worker_threads和web-worker的使用。
worker_threads
worker_threads模块的源代码源自lib/worker_threads.js,它指的是工作线程,可以开启一个新的线程来并行执行javascript程序。
worker_threads主要用来处理CPU密集型操作,而不是IO操作,因为nodejs本身的异步IO已经非常强大了。
worker_threads中主要有5个属性,3个class和3个主要的方法。接下来我们将会一一讲解。
本文共计2495个文字,预计阅读时间需要10分钟。
简介:Node.js中存在两种线程,一种是event loop,用于处理用户请求和callback;另一种是worker pool,用于处理耗时操作。官方文档提到了no的功能。
简介
之前的文章中提到了,nodejs中有两种线程,一种是event loop用来相应用户的请求和处理各种callback。另一种就是worker pool用来处理各种耗时操作。
nodejs的官网提到了一个能够使用nodejs本地woker pool的lib叫做webworker-threads。
可惜的是webworker-threads的最后一次更新还是在2年前,而在最新的nodejs 12中,根本无法使用。
而webworker-threads的作者则推荐了一个新的lib叫做web-worker。
web-worker是构建于nodejs的worker_threads之上的,本文将会详细讲解worker_threads和web-worker的使用。
worker_threads
worker_threads模块的源代码源自lib/worker_threads.js,它指的是工作线程,可以开启一个新的线程来并行执行javascript程序。
worker_threads主要用来处理CPU密集型操作,而不是IO操作,因为nodejs本身的异步IO已经非常强大了。
worker_threads中主要有5个属性,3个class和3个主要的方法。接下来我们将会一一讲解。

