我观看了droidcon NYC 2017 speach of ObjectBox其中有一个部分是 Markus Junginger 谈论交易(大约 25 分钟)。
这一分钟的幻灯片指出:
No, we do not drop ACID: Transactions FTW!
- ObjectBox is fully transactional (ACID)
- Multi Version conurrency
Multi concurrent readers (read TX)
Single writer (write TX)- implicit transaction
e.g. put(song), put(songList)
单写入器(写入 TX)是否意味着我不能并行执行 2 个写入事务?
[编辑]
我可能已经找到答案 here
Write transactions are executed sequentially to ensure a consistent state. Thus, it is advised to keep write transactions short to avoid blocking other pending write transactions.
仍然对任何答案感到高兴。
最佳答案
您已找到正确的文档。总是一次一位作家。例如。任何时候都只有一个 runInTx
(或 put
等)在进行中。
更新:请注意,您不必担心自己使写入事务顺序化。如果多个线程想要同时写入(例如通过 put 或 runInTx),将选择其中一个线程首先执行,而其他线程必须等待。它的工作原理就像 Java 中的锁或同步。
关于android - ObjectBox:并发写入事务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50796472/