Writer终止时,共享内存Reader(只读)将挂起
||
在Linux C中,使用共享内存,我有一个Writer进程和许多Reader。
Writer终止时,所有正在运行的Reader都将挂起。编写器终止时会执行shm_unlink。
我认为,内核可能了解Readers并且可以继续阅读,可能是错误的。当然,数据不会改变,因此读者可以知道何时结束。
任何想法如何做到这一点?
没有找到相关结果
已邀请:
2 个回复
净爽
氮顺
只是删除名字;它不会删除shmem段,直到所有用户取消映射并关闭它或终止。如果您要让这些阅读器/编写器进行交流并阻止pshared互斥锁/信号量,那么当作者去世时,您的确可能会死于悬挂式阅读器。最好让作者在队列中留下一条消息,以告知读者它正在终止。