我想实现一个互斥锁。 从我的理解,mutex.lock()应该像 1)检查锁的所有者 2)如果锁被拥有,把线程等待队列 3)暂停本线程,直到另一个线程发送最多等待信号暂停pthread?
然而,没有什么像pthread_suspend()那么我该如何挂起? 我发现有人说使用pthread_con_wait(),但似乎如果我想使用该功能,我必须首先设置一个pthread_mutex锁,这是没有意义的,我的互斥体内使用pthread_mutex。
那么,如果我对互斥的理解是错误的,请纠正我。
谢谢。
那么spin-wait check(线程插入到Q后)是什么?喜欢这个? “while(lockOwner!= self)”那么这和自旋锁之间有什么区别...... – user956159 2012-02-25 16:50:40