书挺不错的,但是存在一些笔误
有一些地方存在一些笔误,看了英文版才知道:
读写锁部分,谈到读取锁定和解锁时,ReaderCount 错误写为 ReadCount,不过这个无关要紧,严重的是为 Reader 锁定的相关代码:
Lock(ReaderMutex)
ReadCount = ReaderCount + 1
if (ReaderCount == 0)
Unlock(DataSemaphore)
Unlock(ReaderMutex)
这段代码基本没有正确的地方,正确的(原文中)应该为:
Lock(ReaderMutex)
ReaderCount = ReaderCount + 1
if (ReaderCount == 1)
Lock(DataSemaphore)
Unlock(ReaderMutex)
请大家注意:)
读写锁部分,谈到读取锁定和解锁时,ReaderCount 错误写为 ReadCount,不过这个无关要紧,严重的是为 Reader 锁定的相关代码:
Lock(ReaderMutex)
ReadCount = ReaderCount + 1
if (ReaderCount == 0)
Unlock(DataSemaphore)
Unlock(ReaderMutex)
这段代码基本没有正确的地方,正确的(原文中)应该为:
Lock(ReaderMutex)
ReaderCount = ReaderCount + 1
if (ReaderCount == 1)
Lock(DataSemaphore)
Unlock(ReaderMutex)
请大家注意:)
有关键情节透露