ObjectBox: параллельные транзакции записи - PullRequest
0 голосов
/ 11 июня 2018

Я смотрел выступление ObjectBox droidcon NYC 2017, и есть одна часть, в которой Маркус Юнгингер рассказывает о транзакциях (около 25 минут).

Слайд в эту минуту гласит:

Нет, мы не отбрасываем ACID: транзакции FTW!

  • ObjectBox является полностью транзакционным (ACID)
  • Мультивалютность параллелизма
    Несколько одновременных читателей (чтение TX)
    Один писатель (запись TX)
  • неявная транзакция
    например, put (song), put (songList)

Имеет ли Один оператор записи (запись TX) означает, что я не могу иметь 2 транзакции записи параллельно?

[править]

Я мог бы найти ответ здесь

Операции записи выполняются последовательно для обеспечения согласованного состояния.Поэтому рекомендуется избегать коротких транзакций записи, чтобы не блокировать другие ожидающие транзакции записи.

Все еще рады любым ответам.

1 Ответ

0 голосов
/ 11 июня 2018

Вы нашли правильную документацию.Всегда один писатель за раз.Например, в любое время выполняется только один runInTx (или put и т. Д.).

Обновление. Обратите внимание, что вам не нужно беспокоиться о том, чтобы самостоятельно выполнять транзакции записи.Если несколько потоков хотят писать одновременно (например, через put или runInTx), один из протекторов будет выбран первым, в то время как другие потоки должны ждать.Он работает так же, как блокировка или синхронизируется в Java.

...