Linux

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Linux > 嵌入式Linux阻塞与非阻塞IO

嵌入式Linux阻塞与非阻塞IO详解

作者:忧虑的乌龟蛋

这篇文章主要介绍了嵌入式Linux阻塞与非阻塞IO使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

一、阻塞IO与非阻塞IO基本概念

1.1 阻塞IO

1.2 非阻塞IO

二、设置IO阻塞/非阻塞模式

// 打开时设置非阻塞
int fd = open("/dev/device", O_RDWR | O_NONBLOCK);

// 修改已打开文件为非阻塞
int flags = fcntl(fd, F_GETFL, 0);
fcntl(fd, F_SETFL, flags | O_NONBLOCK);

// 修改为阻塞模式
fcntl(fd, F_SETFL, flags & ~O_NONBLOCK);

三、阻塞IO和非阻塞IO对比

阻塞IO:

非阻塞IO:

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文