Поток застревает при блокировке записи, когда это единственный поток, который существует? (C) - PullRequest
0 голосов
/ 24 апреля 2020

Я использую блокировку чтения / записи для создания многопоточной программы, но когда я тестирую ее, она всегда застревает в блокировке записи, даже когда используется только один поток. Я правильно использую эту блокировку? ...

pthread_rwlock_t rwlock;
...
for(...){
   pthread_rwlock_rdlock(&rwlock);
   //bunch of if statements to determine a value
   pthread_rwlock_unlock(&rwlock);
   pthread_rwlock_wrlock(&rwlock);
   //add new values to a global array;
   pthread_rwlock_unlock(&rwlock);
...}

Он всегда застревает в этом pthread_rwlock_wrlock (); и я не могу понять, почему, учитывая, что нет даже другого потока, который может обладать блокировкой.

Спасибо!

...