block 阻塞
进程的三态模型 ( 五态 )
1 ready
2 block
3 running
( 4 & 5 进程的开始和结束 )
block 和 挂起 不同
block : 进程需要的资源没有需等 ( 进程状态 )
挂起 : 原先执行现在不执行 把状态保留下来 一直停在这个状态 ( 进程调度 )
IO block 文件阻塞 ( 默认阻塞 )
要的数据还没有被拿到之前等着什么事也不干
非阻塞 IO : send、recv、accept、connect 会直接结束,无法知道 IO 状态,代价是过一会儿一定要回来看看 IO 到底是否做完;
异步 IO ( 非阻塞 IO ) - AIO : 通过系统调用发起一个 IO 操作并且注册一个回调函数 ( 主动告知非询问非等待 );
AIO 最大的问题 : 没有一套在每个系统上都能执行的库;