适用于Linux的混合互斥库

时间:2013-06-06 17:12:08

标签: linux multithreading locking mutex spinlock

Linux是否有用于实现混合互斥功能的标准线程库?我的意思是,一个互斥体,起初,"表现得像一个自旋锁"并且"只有在经过一定时间(或重试或任何其他测量因素)后仍未获得锁定时,线程才真正进入睡眠状态,如Mecky在{{3}所述}

1 个答案:

答案 0 :(得分: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