高级I/O
来源:互联网 发布:库里数据统计 编辑:程序博客网 时间:2024/04/29 04:02
14.2非阻塞I/O
非阻塞I/O使我们可以调用open,read和write这样的I/O操作,并使这些操作不会永远阻塞。如果这种操作不能完成,则调用立即出错返回,表示该操作如继续执行将阻塞。
指定为非阻塞I/O
1)open描述符,指定O_NOBLOCK
2)已经打开的描述符,调用fcntl,打开O_NOBLOCK状态标志。
----------------------------------------------------------
14.3记录锁
当一个进程正在读或修改文件的某个部分时,它可以阻止其他进程修改同一文件区。
#include<fcntl.h>
int fcntl(int filedes, int cmd,...)
对于记录锁,cmd是F_GETLK,F-SETLK,F_SETLKW,第三个参数是一个指向flock结构的指针。
多个进程在一个特定的字节上可以有一把共享的读锁,但是在一个给定字节上只能有一个进程独用的一把写锁。如果一个进程对一个文件区间已经有了一把锁,后来该进程又企图在同一文件区间再加一把锁,那么新锁将替换老锁。
建议性锁和强制性锁?
----------------------------------------------------------------------
14.4STREAMS
流在用户进程和设备驱动程序之间提供了一条全双工通路。流无需和实际硬件设备直接会话,流也可以用来构造伪设备驱动程序。
在流首之下可以压入处理模块。
STREAMS消息
STREAMS的所有输入和输出都基于消息。流首和用户进程使用read,write,ioctl,getmsg,getpmsg,putmsg,putpmsg交换消息。
消息由下列几部分组成:消息类型,可选择的控制信息以及可选择的数据。
- 高级文件I/O
- 高级I/O
- 高级I/O
- 高级文件I/O
- 高级I/O
- 高级I/O函数
- 高级I/O
- APUE------高级I/O
- 高级I/O----sockerpair
- 高级I/O
- 高级I/O
- 高级I/O函数
- 高级I/O函数
- UNIX的高级I/O
- APUE读书笔记-高级I/O
- unix 高级I/O详解
- Chapter 14 高级I/O
- Linux/UNIX高级I/O
- 2011年4月29日
- cmd下输入汉字
- 学习部门经理的配置路由
- 一个较能通用的C#画曲线类(转)
- JAVA&C# MD5加密
- 高级I/O
- 如何删除有序数组中的重复元素
- dom4j
- 在Eclipse中发布项目
- capwap学习笔记——初识capwap(二)
- asp.net传大附件 webconfig设置
- UE/UI/UCD/UED是什么意思 有什么区别 - 附一些UED团队网站链接(转)
- 怎样学习C语言
- Junit 4