我想實現一個互斥鎖。 從我的理解,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