假设我有一个从多个进程或线程多次打开的 fifo(命名管道)。他们都将调用 select() 进行并发读取。如果一个作家进来并写入,比如说一个字节到这个fifo,所有阻塞的select()调用会同时返回还是只选择一个线程并从select()返回?
对此是否有任何规范,或者这是否取决于系统?
我问的原因是我想使用 fifos 实现类似 Windows 的手动重置事件。手动重置事件要求当事件发出信号时,所有等待的线程都将被释放(而不是自动重置事件只有一个)。
我可以为此使用 pthread conds,但我的要求是多个进程共享事件。
谢谢。