阻塞/非阻塞与同步/异步I/O
阻塞/非阻塞与同步/异步I/O区别
阻塞/非阻塞与同步/异步I/O 最大区别是作用的对象不同:阻塞非阻塞是针对应用程序,同步异步是针对系统。
阻塞/非阻塞I/O 是针对应用程序在处理I/O操作时是否被阻塞来划分:
阻塞I/O 是指应用程序在进行I/O操作时,如果没有得到响应,当前线程就会被阻塞,不能执行其他任务。
阻塞I/O 是指应用程序在进行I/O操作时,如果没有得到响应,当前线程不会被阻塞,还能继续执行其他任务。
同步/异步I/O 是根据I/O响应方式而划分的:
同步I/O 是指系统收到I/O请求后,不会立刻响应,而是处理玩成之后才会响应。
异步I/O 是指系统收到I/O请求后,立刻响应告诉程序已经收到请求,随后再去异步处理,处理完成之后,通过事件通知的方式通知应用该程序I/O处理结果。