帮助理解IO模型
考虑一下这个矩阵: 我已经思考了一段时间,对于每种IO模型,什么是一个好的示例 到目前为止,我得到的是:帮助理解IO模型,io,nonblocking,Io,Nonblocking,考虑一下这个矩阵: 我已经思考了一段时间,对于每种IO模型,什么是一个好的示例 到目前为止,我得到的是: 同步阻塞:例如,在执行read()系统调用时阻塞的单线程应用程序 同步非阻塞(Synchronous Non Blocking):同一个应用程序,但只使用一个线程,使用一个线程池和多个线程,这些线程在主线程不阻塞的情况下处理阻塞IO操作 异步阻塞:一种应用程序,它使用Blocking poll()调用来管理severel文件描述符,如套接字。(libevent也是异步阻塞还是异步非阻塞?
- 同步阻塞:例如,在执行read()系统调用时阻塞的单线程应用程序
- 同步非阻塞(Synchronous Non Blocking):同一个应用程序,但只使用一个线程,使用一个线程池和多个线程,这些线程在主线程不阻塞的情况下处理阻塞IO操作
- 异步阻塞:一种应用程序,它使用Blocking poll()调用来管理severel文件描述符,如套接字。(libevent也是异步阻塞还是异步非阻塞?那么ePoll()呢?)
- 异步非阻塞:
异步同步阻塞:您走到咖啡壶旁,点击brew。咖啡煮好之前不准离开 同步非阻塞:你正在看报纸,想要喝咖啡,你告诉你的朋友去煮一壶咖啡。他这样做了,必须等到它完成离开锅
异步阻塞:你正在看报纸,想要更多的咖啡。你告诉你的朋友去煮一壶咖啡,煮好后给你拿一杯咖啡。同步阻塞:你去煮一壶咖啡,然后开始冲泡。咖啡煮好之前不准离开 同步非阻塞:你正在看报纸,想要喝咖啡,你告诉你的朋友去煮一壶咖啡。他这样做了,必须等到它完成离开锅 异步阻塞:你正在看报纸,想要更多的咖啡。你告诉你的朋友煮一壶咖啡,煮好后给你端一杯咖啡