我正在尝试使用boost :: shared_mutex来实现多读者/单作者互斥体。我的问题很简单,当另一个线程试图锁定shared_mutex进行写入时,线程是否有可能获得读者访问shared_mutex的权限?例如,我有10个线程,只有其中一个可以写,
shared_mutex目前由主题2 共享锁定,我的问题是线程4 是否有可能获得对该shared_mutex的读取权限,在主题之前3 可以写吗?阅读器/写入器互斥体是否有可能陷入饥饿状态,例如,100读者v.s. 1作家?
感谢。
答案 0 :(得分:3)
显然boost::shared_mutex
将公平政策留给了实施。它既可以是公平的,也可以是读者,也可以是读者,因此根据您的特定版本,它可能会使作者受到饥饿。