2

是否有常用的“最佳实践”读写锁 WinAPI 实现?我只找到了一种实现,不知道它是否可靠。

4

2 回答 2

3

Win32 关键部分在等待之前使用一些旋转。您只有 2 个读者线程和罕见的写入。只需对整个事情使用一个关键部分,我相信你会得到一个非常好的性能/简单性比。您可能希望使用 RAII 惯用语来防止退出路径离开获取的 CS。

于 2013-10-17T13:18:58.007 回答
1

WinXP API 中没有这样的锁。您可以使用 boost 中的 shared_mutex。例子。顺便说一句,当你有很多读者和一些偶尔的作家时,这样的锁是有意义的。如果不是你的情况 - 只需使用互斥锁(关键部分)。

于 2013-10-17T12:26:03.093 回答