我有一个使用posix管道的C多线程应用程序,以便有效地执行线程间通信(所以我不必因为死锁而疯狂).
我设置了写操作非阻塞,所以如果缓冲区中没有足够的空间来写入,写入程序将会收到错误.
if((pipe(pipe_des)) == -1) throw PipeException(); int flags = fcntl(pipe_des[1],F_GETFL,0); // set write operation non-blocking assert(flags != -1); fcntl(pipe_des[1],F_SETFL,flags | O_NONBLOCK);
现在我想将管道缓冲区大小设置为自定义值(在特定情况下为一个字).
我已经google了,但我找不到任何有用的东西.有办法(可能符合posix)吗?
谢谢
洛伦佐
PS:我在linux下(如果可能有用)
解决方法
原文地址:https://www.jb51.cc/c/115203.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。