如何理解node是单线程异步I/O
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何理解node是单线程异步I/O相关的知识,希望对你有一定的参考价值。
I/O: 指的是设备与cpu连接的接口电路的操作
异步: 就是不用等一个操作完成,而是去执行其他代码,等操作完成之后再去执行那个操作的结果,
nodeJS使用回调函数来实现的
单线程:在实现异步操作时有很多解决办法,Apache的解决办法是多线程,应该说很多编程语言都使用了多线程,但是在后来的测试和实际应用中,
多线程程序在超过一万人时性能急剧下降,因为创建一个新线程是很耗性能能,即使多线程会把CPU利用到极致但也不能解决过多的人来访问。所以
node的单线程就成为它璀璨的亮点。而且它的回调和它的语法配合的很有默契。但是它也暴露了它的缺点,就是不能充分利用CPU。所以对待CPU
密集型操作它的性能就照多线程还是不足的。为了解决这个问题,node有了新建进程或子线程的模块(child-process)在遇到CPU密集型操作时
可以新建子进程来取执行。
https://segmentfault.com/a/1190000007343993这个网址把child-process说的很细
以上是关于如何理解node是单线程异步I/O的主要内容,如果未能解决你的问题,请参考以下文章