當我試圖使一個地圖,其具有字符串作爲密鑰和pthread_mutex_t作爲元件,錯誤而使用互斥
map<string, pthread_mutex_t> connectedClientsMutexes;
pthread_mutex_t myMutex;//= PTHREAD_MUTEX_INITIALIZER;
connectedClientsMutexes.insert(pair<string,pthread_mutex_t>(userName,myMutex));
while (1)
{
pthread_mutex_lock(&connectedClientsMutexes[userName]);
// do something here
}
這產生:
階段3:pthread_mutex_lock.c:312:__pthread_mutex_lock_full:斷言 `( - (e))!= 3 || !強勁'失敗。
該代碼有時工作,有時沒有:S – 2011-12-24 23:45:32