delphi - 适用于 android/ios 的 TMultiReadExclusiveWriteSynchronizer

标签 delphi firemonkey

在所有平台上(Windows 除外)TMultiReadExclusiveWriteSynchronizer 是一个 TSimpleRWSync,内部仅使用 Tmonitor.enter/Tmonitor.exit 这很糟糕,因为一次只能进行一次读取访问。它们是否与适用于 Android/iOS 的 TMultiReadExclusiveWriteSynchronizer(Windows 版本)等效?

最佳答案

TLightweightMREW System.SyncObjs 中的记录在所有平台上作为 native 操作系统实现的瘦包装器完全实现。在 10.4.1 悉尼引入。

有一些事情需要记住:

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

关于delphi - 适用于 android/ios 的 TMultiReadExclusiveWriteSynchronizer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69325011/

相关文章:

delphi - DLL 中的 VCL 样式正在影响应用程序中的 TMenuItem

android - 我如何从 Android 版 FireMonkey 中的 GPS 传感器获取当前日期和时间?

Delphi 10.1 Firemonkey - 组件构造期间的属性值

ios - FireMonkey,IOS FMX.Listview

delphi - 如何向 DLL 传递对象以及从 DLL 返回对象?

macos - FireMonkey/Rad Studio XE2 : How can I show the SaveDialog filter on OS X?

android - 在线程内释放对象时出错

delphi - 有没有办法在 Delphi Firemonkey 中禁用 TWebBrowser 的右键单击

delphi - 如何使用重定向输出调试 Delphi 应用程序

delphi - 单独旋转矩形点使矩形变形