Linux环境进程间通信:管道及有名管道(4)
来源:互联网
时间:2026-02-26 12:39:22
作者:
系统大全为您提供 当要写入的数据量不大于PIPE_BUF时,linux将保证写入的原子性。如果当前FIFO空闲缓冲区能够容纳请求写入的字节数,写完后成功返回;如果当前FIFO空闲缓冲区不能够容纳请求写入的字节数,则返回EAGAIN错误,提醒以后再写; 对FIFO读写规则的验证: 下面提供了两个对FIFO的读写程序,适当调节程序中的很少地方或者程序的命令行参数就可以对各种FIFO读写规则进行验证。 程序1:写FIFO的程序 #include #include #include #include 程序应用说明: 把读程序编译成两个不同版本: 阻塞读版本:br 以及非阻塞读版本nbr 把写程序编译成两个四个版本: 非阻塞且请求写的字节数大于PIPE_BUF版本:nbwg 非阻塞且请求写的字节数不大于PIPE_BUF版本:版本nbw 阻塞且请求写的字节数大于PIPE_BUF版本:bwg 阻塞且请求写的字节数不大于PIPE_BUF版本:版本bw 下面将使用br、nbr、w代替相应程序中的阻塞读、非阻塞读 验证阻塞写操作: 当请求写入的数据量大于PIPE_BUF时的非原子性: nbr 1000 bwg 当请求写入的数据量不大于PIPE_BUF时的原子性: nbr 1000 bw 验证非阻塞写操作: 当请求写入的数据量大于PIPE_BUF时的非原子性: nbr 1000 nbwg 请求写入的数据量不大于PIPE_BUF时的原子性: nbr 1000 nbw 不管写打开的阻塞标志是否设置,在请求写入的字节数大于4096时,都不保证写入的原子性。但二者有本质区别: 对于阻塞写来说,写操作在写满FIFO的空闲区域后,会一直等待,直到写完所有数据为止,请求写入的数据最终都会写入FIFO; 以上就是系统大全给大家介绍的如何使的方法都有一定的了解了吧,好了,如果大家还想了解更多的资讯,那就赶紧点击系统大全官网吧。 本文来自系统大全https://www.herecours.com/d/file/efpub/2026/26-26/20260226122527568800
编辑推荐:
- Linux环境进程间通信:管道及有名管道(4)02-26
- linux expect实现自动登录脚本02-26
- Linux下Vim工具常用命令02-26
- 在GNU/Linux中查看端口占用情况的命令方法02-26
- vim 配置(2)02-26
- linux中export用法02-26
- Ubuntu下的用户和权限(三)02-26
- word分数怎么打02-26
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- word分数怎么打
word分数怎么打
26-02-26 - word2007自动生成目录?
word2007自动生成目录?
26-02-26 - 如何自定义Office 2003用户界面?
如何自定义Office 2003用户界面?
26-02-26 - word页码从任意页开始
word页码从任意页开始
26-02-26 - word怎么设置页眉和页脚?
word怎么设置页眉和页脚?
26-02-26 - word2010怎样设置页码页数?
word2010怎样设置页码页数?
26-02-26 - word中在左侧显示目录的方法
word中在左侧显示目录的方法
26-02-26 - word中如何删除空白页的两种方法
word中如何删除空白页的两种方法
26-02-26 - word怎么设置首字下沉
word怎么设置首字下沉
26-02-26 - 如何转换和共享Office 2019文件
如何转换和共享Office 2019文件
26-02-26
