UNIX/LINUX 单线程I/O 超时处理
来源:互联网 发布:网络销售公司介绍 编辑:程序博客网 时间:2024/06/02 11:07
UNIX 下的I/O 超时处理是一个很常见的问题, 它的通常做法是接收输入(或发送输出)后立刻返回, 如
果无输入(或输出)则n 秒后定时返回.
一般情况下, 处理UNIX中I/O 超时的方式有终端方式, 信号跳转方式和多路复用方式等三种. 本节设
计一个定时I/O 的例子, 它从文件描述符0 中读取一个字符, 当有输入时继续, 或者3 秒钟后超时退出, 并打
印超时信息.
(1) 终端I/O 超时方式
利用ioctl 函数, 设置文件描述符对应的标准输入文件属性为” 接收输入后立刻返回, 如无输入则3 秒后
定时返回.
#include <unistd.h> #include <termio.h> #include <fcntl.h> int main() { struct termio old, new; char c = 0; ioctl(0, TCGETA, &old); new = old; new.c_lflag &= ~ICANON; new.c_cc[VMIN] = 0; new.c_cc[VTIME] = 30; // 设置文件的超时时间为 3 秒 ioctl(0, TCSETA, &new); if((read(0, &c, 1)) != 1) printf("timeout\n"); else printf("\n%d\n", c); ioctl(0, TCSETA, &old); return 0; }
- UNIX/LINUX 单线程I/O 超时处理
- linux c单线程I/O超时处理
- UNIX网络编程--设置I/O超时
- Linux/UNIX高级I/O
- 多线程同步I/O和单线程异步I/O
- [Unix/Linux Programming] Buffered I/O vs Unbuffered I/O
- Unix/Linux编程-系统调用I/O
- Unix/Linux编程-标准I/O库
- Linux网络编程--单进程服务器处理多客户请求(I/O复用)
- unix----文件I/O
- Unix I/O模型
- Unix I/O 模型
- UNIX I/O
- I/O unix 接口
- Unix I/O操作
- UNIX I/O
- UNIX I/O摘要
- UNIX文件 I / O
- 学习鸟哥私房菜(三)之linux磁盘与文件系统管理
- 文件工具类FileUtils的使用
- 人脸识别
- 体会函数参数传递
- 程序员技术练级攻略
- UNIX/LINUX 单线程I/O 超时处理
- delphi 64位MD5算法
- 最近学到的技巧(python调试信息的获取等)
- 编程之美——连连看游戏设计
- 学习鸟哥私房菜(四)之 档案不文件系统的压缩与打包
- J2SE5中的最新注释功能SuppressWarnings
- 周迅刘嘉玲 豪放女星不穿女裤走光/图
- NotesList(Robotium自带的例子) 中导入NotesList
- matlab重叠保留法