我想在第2行中知道“ wait(mutex)”的意思。该代码已经具有rw_mutex。我不知道这两个互斥锁的区别。
此外,如果不存在或删除了wait(mutex),则此代码“读/写问题”发生了什么?
do {
wait(mutex);
read count++;
if (read count == 1)
wait(rw mutex);
signal(mutex);
... /* reading is performed */ ...
wait(mutex);
read count--;
if (read count == 0)
signal(rw mutex);
signal(mutex);
} while(true);