ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
## 2.1 流?I\/O操作\/阻塞 ### 2.1.1 流 * 可以进行I\/O操作的内核对象 * 文件、管道、套接字…… * 流的入口:文件描述符\(fd\) ## 2.1.2 I\/O操作 ![](https://img.kancloud.cn/18/de/18de4271dbfbd3c5cf0193fb60e8c5b7_832x210.png) --- ![](https://img.kancloud.cn/a5/58/a558f826d4c1e0872aaa888306cf05f0_854x244.png) --- 所有对流的读写操作,我们都可以称之为IO操作。 > ### 那么当一个流中再没有数据,read的时候,或者说在流中已经写满了数据,再write,我们的IO操作就会出现一种现象,就是阻塞现象。 ## 2.1.2 阻塞 ![](https://img.kancloud.cn/8b/74/8b74ba71a1e5cdae8a994712b8a85e99_755x564.png) --- ![](https://img.kancloud.cn/af/25/af25125ccf72dc6a288c6cb5e06f240c_757x562.png) --- * 阻塞等待 空出大脑可以安心睡觉。(不占用CPU宝贵的时间片) * 非阻塞,忙轮询 浪费时间,浪费电话费,占用快递员时间(占用CPU,系统资源)