当一个线程做的工作多于另一个线程时,我正在研究一个遭受饥饿的程序.关键部分受可重入QMutex保护,这是不公平的.
在Java中,您可以为锁定指定公平性参数.C++,(或boost库)是否有可用的公平重入锁定?最好是C++ 11.
之前我做了一些研究,在boost中有shared_lock,但我不需要读/写锁.只是一个锁,它将保证每个线程有相同的机会进入临界区.
非常感谢你.
C++ 线程原语实际上是基于 Posix 线程,而 Posix 没有任何公平的互斥体。不过你的问题说明你的设计有问题。这里有两个问题: