12-高级IO
来源:互联网 发布:手机编辑字幕软件 编辑:程序博客网 时间:2024/06/12 00:00
学习12章内容,掌握下面的知识点:非阻塞IO,记录锁,IO多路select & poll,readv & writev函数,mmap
- 非阻塞IO
想要对给定的描述符进行非阻塞读写,有2种制定方法:
- 在open函数中,指定O_NONBLOCK标志
- 对于已经打开的文件描述符,可以调用fcntl函数来打开O_NONBLOCK标志
- 记录锁
记录锁可以组织其他进程修改同一文件区
- fcntl记录锁
int fcntl(int filedes, int cmd, ... /*struct flock *flockptr*/)。cmd是F_GETLK,F_SETLK,F_SETLKW
struct flock {
short l_type; /*F_RDLCK,F_WRLCK,F_UNLCK*/
...
}
多个进程在一个给定字节上的写锁则只能由一个进程独用
如果在一个给定字节上已经有一把或多把读锁,则不能在该字节上再加写锁
如果在一个字节上已经有一把独占性的写锁,则不能再对它加任何读锁
加读锁时,该描述符必须是读打开,加写锁时,该描述符必须是写打开
- 锁的隐含继承和释放
- 流
- IO多路
- 异步IO
- readv & writev
- readn & writen
- mmap
- 12-高级IO
- 高级IO
- 高级IO
- 高级IO
- 高级IO
- 高级IO编程
- LINUX 高级IO操作
- 9 高级IO函数
- APUE高级IO
- apue高级IO
- Java 高级---IO
- 14(高级IO)
- 八、Linux--高级IO
- Linux 高级IO
- IO高级应用-BufferedReader
- Linux高级IO
- 高级IO操作
- 14章 高级IO
- 根据宽度来决定显示的字符串长度(C#)
- Linux下安装中文输入法
- 父亲的病
- 常用的十七大学术搜索引擎
- 论简化三维流水线和逼近真实流水线快速构造引擎
- 12-高级IO
- Cain,Dsniff以及Ettercap
- 我的生日
- 一些预言——让我们一起来见证
- container_of
- 关于session id的存储
- c#3.0 新特性之隐含类型VAR
- Window键盘虚拟码
- 看后至少多活十年