有没有一个 Delphi 实现的MREW(多读,排他写)锁,有利于阅读写?
tvokkenx1#
我认为TMultiReadExclusiveWriteSynchronizer已经对读者有利了。正如组件的名称所暗示的那样,当需要进行大量的阅读和很少的写入时,应该使用TMREWS。此外,读取操作应保持在最小值,否则写入线程可能会无限期等待。它位于SysUtils单元中。
oprakyz72#
查看项目JEDI JCL(http://www.delphi-jedi.org/)中的TJclMultiReadExclusiveWrite。该类的构造函数支持一个参数,该参数告诉代码优先考虑哪一个--读取器、编写器,还是认为它们相等。
plupiseo3#
Delphi的标准实现(自Delphi 11开始)是:System.SyncObjs.TLightweightMREW。
System.SyncObjs.TLightweightMREW
3条答案
按热度按时间tvokkenx1#
我认为TMultiReadExclusiveWriteSynchronizer已经对读者有利了。
正如组件的名称所暗示的那样,当需要进行大量的阅读和很少的写入时,应该使用TMREWS。此外,读取操作应保持在最小值,否则写入线程可能会无限期等待。
它位于SysUtils单元中。
oprakyz72#
查看项目JEDI JCL(http://www.delphi-jedi.org/)中的TJclMultiReadExclusiveWrite。该类的构造函数支持一个参数,该参数告诉代码优先考虑哪一个--读取器、编写器,还是认为它们相等。
plupiseo3#
Delphi的标准实现(自Delphi 11开始)是:
System.SyncObjs.TLightweightMREW
。