想请问
PollingI/O, Interrupted I/O
和
Blocking I/O, Non-blocking I/O, AsynchronousI/O
之间有什么关系吗?
是可以2*3这样互相搭配
还是后面三种各自使用到前面两种运作方式之一?
作者:
can18 (18号)
2017-12-31 09:10:00上面是Cpu如何处理I/O下面是user process如何handle IO我猜两个应该是完全不相关的
作者:
TWkobe (中华柯比)
2017-12-31 11:48:00可以相关或不相关 下面更是描述整个Io event 的处理流程
我目前理解是blocking io是不加载新的process然后是interrupted ioNon blocking是加载新的但是polling然后asynchronous io是加载新的然后interrupted io请问这样理解正确吗?
作者:
TWkobe (中华柯比)
2017-12-31 14:08:00你可以想像socket通讯中 某个个server有许多task在listen client端的请求若是blocking io ,假设没有pending request则会被强迫一直等到client端有请求而nonblocking就可以此时切换下一个task作别的事至于怎么检查有没有pending你要用polling或interrupt都可以 所以block/nonblocking看得是一整个流程或者也可以用生产者消耗者问题来思考也行
了解~那可以再问一下non-blocking和asynchronous差别吗?觉得两个好像~