【问题标题】:unix pipe multiple writersUnix管道多个作家
【发布时间】:2011-06-12 05:07:54
【问题描述】:

如果有多个线程将固定长度的数据(例如 4 字节地址)写入单个管道,并且该管道只有一个读取器,是否保证读取器将按顺序获取字节?换句话说,write() 是管道原子的吗?

【问题讨论】:

    标签: unix ipc pipe


    【解决方案1】:

    http://pubs.opengroup.org/onlinepubs/009695399/functions/write.html

    原子/非原子:写入是原子的 如果全部金额写在一个 操作不与数据交错 从任何其他过程。这很有用 当有多个作家时 向单个阅读器发送数据。 应用程序需要知道有多大 可以预期写请求是 原子地执行。这个最大值是 称为 {PIPE_BUF}。本卷 IEEE 标准 1003.1-2001 没有说是否 写请求超过 {PIPE_BUF} 字节是原子的,但是 要求写入 {PIPE_BUF} 或 更少的字节应该是原子的。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-13
    • 1970-01-01
    • 2013-08-15
    • 1970-01-01
    • 2011-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多