概念
同步 异步 及 阻塞 非阻塞
借鉴下《 !"# 网络编程卷》中的理论:
操作中涉及的 个主要对象为程序进程、系统内核。以读操作为例,当一个 读操作发生时,通常经
历两个步骤:
$ ,等待数据准备
,将数据从系统内核拷贝到操作进程中
例如,在 % 上的读操作,步骤 $ 会等到网络数据包到达,到达后会拷贝到系统内核的缓冲区;步骤
会将数据包从内核缓冲区拷贝到程序进程的缓冲区中。
同步 和异步 :
& "'" ((%"
" )
& "'" ((%)
可以看出,判断同步和异步的标准在于:
一个 操作直到完成,是否导致程序进程的阻塞。如果阻塞就是同步的,没有阻塞就是异步的。这里
的 操作指的是真实的 操作,也就是数据从内核拷贝到系统进程(读)的过程。