我对在*nix系统上(例如Linux)使用POSIX Pthreads中的读写锁有一些问题。
我想知道读写锁的默认偏好是什么,即它是更倾向于读操作还是写操作?它是否提供一些API来更改这种默认行为。
POSIX Pthreads是否提供了一些API,以便我们可以更改pthread_rwlock_t以防止写入进程饥饿?根据我所读到的(如果我错了,请纠正我),默认实现是偏向于读线程的,因此写线程可能会遇到饥饿问题。
我已经阅读了David Butenhof的《Programming with Posix threads》一书中的读写锁样例实现。
我想知道posix pthreads如何处理写线程饥饿问题?是否有一些api可以使用以设置读写锁的属性,从而防止写入饥饿(我从未听说过)?还是用户必须处理这个问题?
如果您认为答案是与实现相关的,则请给我一个关于Linux中如何完成的示例,因为这就是我正在寻找的内容。
请注意,我只需要*nix系统的解决方案。不要认为我粗鲁,但是发布一些Windows特定的代码对我来说是无用的。
感谢您所有人的帮助和耐心:)