0

是否有任何实现混合互斥功能的 Linux 标准线程库?我的意思是,一个互斥锁,起初“表现得像一个自旋锁”并且“只有在一定时间(或重试或任何其他测量因素)后仍未获得锁时,线程才真正进入睡眠状态”,正如 Mecky 在什么时候应该使用自旋锁而不是互斥锁?

4

1 回答 1

2

glibc 已经提供了这个。只需使用PTHREAD_MUTEX_ADAPTIVE_NP类型或PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP用作互斥体初始值设定项即可。

http://sourceware.org/git/?p=glibc.git;a=blob;f=nptl/pthread_mutex_lock.c#l90

于 2013-06-06T17:24:46.033 回答