Какое локальное хранилище в html5 я могу безопасно использовать в потоке пользовательского интерфейса браузера и потоке веб-рабочих

Я пытался использовать api веб-базы данных sql в браузерах на основе webkit. Я использовал async api в основном потоке пользовательского интерфейса и веб-воркере . Оба потока обращаются к одной и той же базе данных (которая, как вы знаете, является sqlite под капотом)

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

Еще немного предыстории. Мой веб-воркер просто выполняет запрос к таблице, в которую может быть вставлена ​​запись из основного потока пользовательского интерфейса.

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

Любые идеи будут с благодарностью получены

6
задан Francisc 20 June 2012 в 19:37
поделиться