同步/异步/阻塞/非阻塞 IO 的区别

同步和异步是通信机制,阻塞和非阻塞是调用状态。

  • 同步 IO 是用户线程发起 IO 请求后需要等待或轮询内核 IO 操作完成后才能继续执行。

  • 异步 IO 是用户线程发起 IO 请求后可以继续执行,当内核 IO 操作完成后会通知用户线程,或调用用户线程注册的回调函数。

  • 阻塞 IO 是 IO 操作需要彻底完成后才能返回用户空间 。

  • 非阻塞 IO 是 IO 操作调用后立即返回一个状态值,无需等 IO 操作彻底完成。

posted @ 2022-05-22 22:45  张三丰学Java  阅读(77)  评论(0编辑  收藏  举报