Я пытался использовать api веб-базы данных sql в браузерах на основе webkit. Я использовал async api в основном потоке пользовательского интерфейса и веб-воркере . Оба потока обращаются к одной и той же базе данных (которая, как вы знаете, является sqlite под капотом)
Все работает нормально, но иногда транзакции теряются или одна транзакция не удалась, и это, похоже, условие синхронизации / гонки.Похоже, что доступ к базовой базе данных sqlite не является потокобезопасным.
Еще немного предыстории. Мой веб-воркер просто выполняет запрос к таблице, в которую может быть вставлена запись из основного потока пользовательского интерфейса.
Мне интересно, действительно ли где-то задокументировано, какое локальное / веб-хранилище может быть безопасно доступно как из потока пользовательского интерфейса, так и из потока рабочего веб-сайта? Я где-то читал, что indexeddb api является потокобезопасным, но сейчас это не помогает мне, поскольку поддержка браузером плохая / отсутствует для браузеров, на которые я нацелен (по крайней мере, я так думаю - Я получаю свою информацию с http://caniuse.com )
Любые идеи будут с благодарностью получены