是否有跨进程工作的读/写锁定机制(类似于互斥锁,但读/写而不是独占锁定)?我想允许并发读取访问,但允许独占写入访问。
Windows 不包含跨进程读写锁。可以使用信号量和互斥量的组合来构造互斥量(互斥量由写入者持有以进行独占访问,或者由读取者持有,然后读取者使用信号量释放其他读取者,即写入者将仅等待互斥体,而读取者则等待) 。
但是,如果预期争用较低(即没有线程长时间持有锁),则互斥可能仍然会更快:读写器锁的额外复杂性压倒了允许多个读取器进入的任何好处。(读写器锁)只有当有更多的读取器并且锁被持有很长一段时间时,锁才会更快,但只有您的分析才能证实这一点。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)