零 引入
非阻塞IO ---阻塞IO 是不是死心眼? …
Info
阻塞IO 信号章节,手册内容 man 2 read , errors:当前会出错的情况
假错的现象:
- EINTR 阻塞的系统调用;
- EAGAIN 非阻塞方式 读打印机 现在没有数据 尝试 没有成功 #linux man 7 最全的内容,解释。讲机制。 tcp socket
有限状态机编程 应用层
一 非阻塞IO
- 简单流程:一个程序的自然流程1是结构化的
- 复杂流程:自然流程不是结构化的。 常见于网络协议。跟人打交道这件事,本身不容易。 某个情况出错了,怎么样。 口令随机校验:连续两次输入正确才能登录。
有限状态机 用来解决复杂流程问题
二 IO多路转接
文件描述符行为的监视
三 其他读写函数
- readv();
- writev();
unix环境高级编程:
- readn();
- writen(); 作者写的两个函数。读够n个字节,写够n个字节。
四 存储映射IO
- mmap();
- munmap();
五 文件锁
- fcntl();
- lockf();
- flock();
Footnotes
-
作为人类 解决问题的最直接直观的思路 。大象放进冰箱 分为三步:1. 打开冰箱 2. 把大象放进冰箱 3. 关闭冰箱 ↩