Режим WAL указан для N читателей и одного писателя. Является ли личность писателя взаимозаменяемой? Например, у меня есть N писателей и дополнительный мьютекс. Каждый писатель должен получить этот мьютекс, чтобы иметь возможность писать, поэтому два писателя никогда не пишут одновременно. Это возможно? И если да, то почему это не часть SQLite, поскольку мне кажется, что это естественное расширение режима WAL.
Могу ли я использовать режим WAL в SQLite3, если я использую дополнительный мьютекс для нескольких писателей?
Ответы (1)
В режиме WAL невозможно иметь несколько активных модулей записи. Однако несколько авторов могут попытаться написать. Этот конфликт обрабатывается точно так же, как и в режиме журнала отката, т. е. первый писатель блокирует базу данных, а остальным приходится ждать.
person
CL.
schedule
15.06.2015
Просто чтобы уточнить: могу ли я использовать мьютекс для всего ПК для записи? Могу ли я тогда иметь произвольное количество писателей, потому что мьютекс гарантирует отсутствие одновременной записи?
- person Fabian; 16.06.2015
Если вы используете собственный мьютекс, он по существу заменяет механизм блокировки SQLite.
- person CL.; 16.06.2015