【问题标题】:ObjectBox: Concurrent Write transactionsObjectBox:并发写入事务
【发布时间】:2018-06-11 11:15:04
【问题描述】:

我看了droidcon NYC 2017 speach of ObjectBox,其中有一部分是 Markus Junginger 谈论交易(大约 25 分钟左右)。

这一分钟的幻灯片显示:

不,我们不会丢弃 ACID:交易 FTW!

  • ObjectBox 是完全事务性的 (ACID)
  • 多版本并发
    多并发阅读器(读取 TX)
    单写者(写 TX)
  • 隐式事务
    例如放(歌曲),放(歌曲列表)

Single writer (write TX) 是否意味着我不能同时进行 2 个写入事务?

[编辑]

我可能已经找到答案here

写事务按顺序执行以确保一致 状态。因此,建议保持写事务简短以避免 阻塞其他挂起的写事务。

仍然很高兴得到任何答案。

【问题讨论】:

    标签: android objectbox


    【解决方案1】:

    您已找到正确的文档。一次总是一个作家。例如。任何时候都只有一个runInTx(或put等)在进行中。

    更新:请注意,您不必担心自己使写入事务连续。如果多个线程要同时写入(例如通过 put 或 runInTx),将选择其中一个线程先执行,而其他线程必须等待。它的工作原理就像一个锁或 Java 中的同步。

    【讨论】:

    • 谢谢!但是框架会管理这个,对吧?永远不会有奇怪的 NoConcurrentWriteTransactionException 什么的,会吗?
    • 感谢您的提问。我在文档中澄清了这一点,并在答案中复制了它。
    • 感谢您抽出宝贵时间回答! :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-09
    • 1970-01-01
    • 2017-11-05
    • 2011-07-05
    • 2016-11-03
    • 2022-06-23
    相关资源
    最近更新 更多