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