`
aiwori
  • 浏览: 8617 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
文章分类
社区版块
存档分类
最新评论

同步与异步 阻塞与非阻塞

阅读更多

同步与异步,描述请求方;同步即发送请求后一直等到对方发回响应后才接着发送下一个请求,而异步机制不需要等到当前请求响应就可以继续发送下一个请求

阻塞与非阻塞,描述处理方;阻塞即调用结果返回之前,当前处理线程从运行状态被挂起,直到调用结果返回,非阻塞方式调用结果不能立即返回,当前线程也不会被挂起,而是立即返回执行下一个调用

java BIO 即阻塞IO,一个socket套接字需要使用一个线程来处理

NIO,对所有客户端的socket套接字的事件做处理,然后派发到不同线程。当有通知时可以进行读写相关操作

AIO,读写已经完成,直接进行后续处理

 

Node的异步IO,事件来来源与网络请、文件IO等,这些事件对应的观察者有文件IO观察者、网络IO观察者等,,事件被传递到对应的观察者,事件循环则从观察者那里取出事件并处理。请求对象是异步IO过程中的重要中间产物,包括送入线程池等待执行以及IO操作完毕后的回调处理。线程池负责执行请求对象中的IO操作、将执行完成的结果放在请求对象中,事件循环检测到线程池有执行完的请求,则将请求对象加入到IO观察者的队列,然后取出回调函数和结果调用执行。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics