网上非常多IO资料,对新手来说。越看越晕。依据自己的理解。总结对照了一下BIO、NIO、AIO。

BIO:线程发起IO请求,无论内核是否准备好IO操作,从发起请求起,线程一直堵塞,直到操作完毕。

例如以下图:

BIO、NIO、AIO差别

NIO(reactor模型):线程发起IO请求,马上返回;内核在做好IO操作的准备之后。通过调用注冊的回调函数通知线程做IO操作。线程開始堵塞,直到操作完毕。例如以下图:

BIO、NIO、AIO差别

AIO(proactor模型):线程发起IO请求,马上返回。内存做好IO操作的准备之后,做IO操作,直到操作完毕或者失败,通过调用注冊的回调函数通知线程做IO操作完毕或者失败。例如以下图:

BIO、NIO、AIO差别


个人浅见,欢迎拍砖!

相关文章:

  • 2021-11-03
  • 2021-04-10
  • 2021-04-30
  • 2021-07-13
猜你喜欢
  • 2022-01-19
  • 2021-12-21
  • 2021-06-23
  • 2021-12-29
  • 2021-12-31
  • 2021-08-29
相关资源
相似解决方案