我有兩個線程。第一個是這樣的:互斥鎖需要很長時間才能解鎖
while(1)
{
pthread_mutex_lock(&mutex);
//DO WORK
pthread_mutex_unlock(&mutex);
pthread_yield();
}
第二個鎖定用戶事件互斥,更改某些設置和解鎖。線程一秒~200次迭代。但有時需要第二個線程長達3秒才能激活(鎖定互斥鎖)。我如何確保更快的響應?
編輯 - 第二線程:
while(1)
{
waitForUserInput(); // blocking call to linux input
pthread_mutex_lock(&mutex);
// Change some settings which are used by the first thread
pthread_mutex_unlock(&mutex);
}
EDIT2 - 修正的問題( 「解鎖互斥」 - > 「鎖定互斥」)。
你能告訴我們第二個線程是什麼樣子嗎? – luke 2010-05-18 23:25:14
你的意思是第二個線程需要3秒才能獲取互斥鎖或釋放互斥鎖? – Jay 2010-05-19 13:22:18
我的意思是第二個線程獲取互斥量需要3秒(並非總是)。因此,它一段時間沒有反應。 – 2010-05-20 00:26:40