小编Zer*_*uel的帖子

设置管道缓冲区大小

我有一个C++多线程应用程序,它使用posix管道,以便有效地执行线程间通信(所以我不必为死锁而疯狂).

我已将写操作设置为非阻塞,因此如果缓冲区中没有足够的空间来写,则编写器将收到错误.

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);
Run Code Online (Sandbox Code Playgroud)

现在我希望将管道缓冲区大小设置为自定义值(在特定情况下为一个单词).

我已经google了,但我找不到任何有用的东西.有办法(可能是posix兼容)吗?

谢谢

洛伦佐

PS:我在Linux下(如果它可能有用)

c buffer pipe

14
推荐指数
1
解决办法
1万
查看次数

标签 统计

buffer ×1

c ×1

pipe ×1