既然nodejs是单线程的,那么它怎么处理并发,难道要排队么

既然nodejs是单线程的,那么它怎么处理并发,难道要排队么


侃侃无极
浏览 694回答 2
2回答

POPMUISE

单线程解决高并发的思路就是采用非阻塞,异步编程的思想。简单概括就是当遇到非常耗时的IO操作时,采用非阻塞的方式,继续执行后面的代码,并且进入事件循环,当IO操作完成时,程序会被通知IO操作已经完成。主要运用JavaScript的回调函数来实现。多线程虽然也能解决高并发,但是是以建立多个线程来实现,其缺点是当遇到耗时的IO操作时,当前线程会被阻塞,并且把cpu的控制权交给其他线程,这样带来的问题就是要非常频繁的进行线程的上下文切换。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Node.js