Мне нужны операции доступа к базе данных из нескольких потоков, через одноэлементный объект, который поддерживает соединение с базой данных. Я читал на сайте SQLite3, говоря, что «структура sqlite3 может использоваться только в том же потоке, который называется sqlite3_open(), чтобы создать его. Вы не могли открыть базу данных в одном потоке, а затем передать дескриптор в другой поток, чтобы он мог использовать '. Мне интересно в моей ситуации, есть ли какая-либо угроза нить-небезопасности?Безопасна ли SQLite в этой ситуации?
5
A
ответ
11
Если библиотека SQLite скомпилирована с -DSQLITE_THREADSAFE, вы в порядке с более поздними версиями SQLite 3.
Автор SQLite says:
Начиная с версии 3.5.0, SQLite навязывает это само по себе, используя свои
собственные внутренние мьютексы, так что приложение может свободно (попытаться) использовать
одну базу данных соединение из нескольких потоков одновременно.
Смежные вопросы
- 1. Необходим ли замок в этой ситуации?
- 2. Применяется ли RVO в этой ситуации?
- 3. Работает ли шаблон посредника в этой ситуации?
- 4. Придется ли использовать System.Exception в этой ситуации?
- 5. Должен ли я денормализовать в этой ситуации?
- 6. Является ли OAuth излишним в этой ситуации?
- 7. Использует «goto» в этой ситуации?
- 8. @property, хорошо в этой ситуации?
- 9. Избегайте ожидания в этой ситуации
- 10. Безопасна ли NSURLConnection?
- 11. Лучшая панель для этой ситуации
- 12. Безопасна ли WNetGetResourceInformation?
- 13. Будет ли использование интервалов в этой ситуации в порядке?
- 14. как выйти из этой ситуации
- 15. Применить PromiseJS к этой ситуации
- 16. Использует Redis для этой ситуации?
- 17. мьютекса в RTOSes в этой конкретной ситуации
- 18. Безопасна ли Gmail?
- 19. Значение или эталонная семантика в этой ситуации?
- 20. который дизайн patten в этой ситуации?
- 21. Безопасна ли эта операция файла?
- 22. Исключение этой ошибки в исходной ситуации
- 23. Использует linq в этой ситуации overkill
- 24. ЯВЛЯЕТСЯ ЧИТАЕМОЙ НЕОБХОДИМЫЙ/NOLOCK в этой ситуации?
- 25. Каков наилучший алгоритм сортировки в этой ситуации?
- 26. Java: как разбирать строку в этой ситуации?
- 27. Как эффективно использовать intrusive_ptr в этой ситуации?
- 28. my deepcopy не работает в этой ситуации
- 29. Как лучше использовать докер в этой ситуации
- 30. Доступна услуга Push-уведомления в этой ситуации?