相关疑难解决方法(0)

如何在pthreads中的读写锁中防止编写器饥饿

我有一些关于*nix系统上POSIX Pthreads的读写锁的问题,例如Linux.

我想知道读写锁的默认偏差是什么,即它是否更喜欢读写,反之亦然?它是否提供一些api来更改此默认行为.

posix pthread是否提供了一些api,以便我们可以更改pthread_rwlock_t以防止作者饥饿?从我所读到的(如果我错了请纠正我),默认实现偏向于读者线程,因此作者线程可能面临饥饿.

我已经从David Butenhof的Programming with Posix threads一书中读到了rw锁的示例实现.

我想知道posix pthreads如何处理编写器线程的饥饿?是否有一些api使用,我们可以设置读写锁的属性,以防止写饥饿(我从来没有听说过)?或者用户是否必须处理此问题?

如果您认为答案是实现定义的,那么请举例说明它是如何在Linux中完成的,因为这就是我要找的东西.

请注意,我只想要一个*nix系统的解决方案.不要以为我很粗鲁,但发布一些特定于Windows的代码对我来说毫无用处.

谢谢大家的帮助和耐心:)

linux multithreading pthreads

29
推荐指数
1
解决办法
2万
查看次数

标签 统计

linux ×1

multithreading ×1

pthreads ×1