Skip to content

Latest commit

 

History

History

7

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

Node 更适合处理 I/O 密集型任务还是 CPU 密集型任务?为什么?

Node 更适合处理 I/O 密集型的任务。因为 Node 的 I/O 密集型任务可以异步调用,利用事件循环的处理能力,资源占用极少,并且事件循环能力避开了多线程的调用,在调用方面是单线程,内部处理其实是多线程的。

并且由于 Javascript 是单线程的原因,Node 不适合处理 CPU 密集型的任务,CPU 密集型的任务会导致 CPU 时间片不能释放,使得后续 I/O 无法发起,从而造成阻塞。但是可以利用到多进程的特点完成对一些 CPU 密集型任务的处理,不过由于 Javascript 并不支持多线程,所以在这方面的处理能力会弱于其他多线程语言(例如 Java、Go)。