如题,和其他非异步操作的语言相比,Nodejs到底快在什么地方?
Nodejs说到底还是快在异步IO上,异步IO和多线程相比具有明显的优势,多线程中,单独的一个线程内执行IO操作还是同步的,线程内等待IO操作的结果返回白白消耗了CPU。
而异步IO,发起IO操作请求后可以不必等待去处理其他事情,能够更加充分的利用CPU,处理更多的事情,当IO操作结果返回后,在对IO的操作结果进行处理。
Nodejs的js代码虽然是在单独的一个线程中执行,但是Nodejs本身并不是单线程的,代码发起的IO操作请求会有其他线程去执行。
当然,Nodejs处理IO操作也是有瓶颈的,这取决于磁盘IO的处理瓶颈,也就是说Nodejs在处理IO操作时虽然采用了异步回调的模式,当IO请求特别多的时候也会受限于磁盘IO操作本身。
Related Issues not found
Please contact @stanzhai to initialize the comment