android/ios 的 TMultiReadExclusiveWriteSynchronizer

TMultiReadExclusiveWriteSynchronizer for android/ios

在所有平台上(windows 除外)TMultiReadExclusiveWriteSynchronizer 是一个 TSimpleRWSync,内部只使用 Tmonitor.enter / Tmonitor.exit,这很糟糕,因为只有一次读取一个权限。他们是否等同于 TMultiReadExclusiveWriteSynchronizer(windows 版本),适用于 Android/iOS?

System.SyncObjs 中有 TLightweightMREW 记录在所有平台上作为原生 OS 实现的精简包装器完全实现。在 10.4.1 悉尼引入。

有几点需要注意:

  • 可以从同一个线程递归调用读访问,但写访问不能 - 它会在 Windows 上死锁并在 Posix 平台上引发异常
  • 读取权限无法升级为写入权限。