为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

jeck猫 2019-05-13 12:08:22
既然nodejs是单线程的,那么它怎么处理并发,难道要排队么
查看完整描述

2 回答

?
饮歌长啸

TA贡献1951条经验 获得超3个赞

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

查看完整回答
反对 回复 2019-05-14
  • 2 回答
  • 0 关注
  • 608 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信