阻塞非阻塞异步同步 io的关系
个人之见。
同步有 阻塞io 和非阻塞io
异步是没有阻塞和非阻塞的理由如下
异步就不关心cpu的io执行结果和状态,哪来的阻塞。
io过程 举例子如read (两步 第一步:内核等待数据可读
第二步:将内核读到的数据拷贝到进程)
同步阻塞是 数据没准备好我就一直等待。一直等到数据准备好。开始加载数据到用户线程。这个过程中内核不会有任何的反应。当然你也就堵死在那。
同步非阻塞是 问下数据好没?如果没有立马得到errow 。立马返回结果。那我就一直问用while(true),
异步 我read。我也不问到底有没有准备好数据。也不问什么加载内核数据到用户线程。如果好了kerne会主动给我说。