Linux环境进程间通信:管道及有名管道(4)下载

系统大全为您分享 当要写入的数据量不大于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;      以上就是系统大全给大家介绍的如何使的方法都有一定的了解了吧,好了,如果知识兔大家还想了解更多的资讯,那就赶紧点击系统大全官网吧。  本文来自系统大全http://www.win7cn.com/如需转载请注明!

下载仅供下载体验和测试学习,不得商用和正当使用。

下载体验

请输入密码查看下载!

如何免费获取密码?

点击下载

评论