Можно ли использовать sqlite.swift из нескольких потоков (чтение / запись одной и той же таблицы). Я попытался определить его из настроек сборки, но не нашел слов SERIALIZED, MULTITHREAD или THREADSAFE.
Используется ли оригинальная библиотека sqlite3 C под капотом?
Является ли sqlite.swift потокобезопасным?
Ответы (1)
По умолчанию для параметра SQLITE_THREADSAFE установлено «сериализованное».
Однако доступ к одному и тому же соединению с базой данных из нескольких потоков, скорее всего, не удастся, потому что на каждое соединение приходится только одна транзакция. В любом случае вы должны использовать одно соединение для каждого потока.
person
CL.
schedule
15.09.2017
Любой, кто интересуется библиотекой Swift Sqlite с надежным и четко определенным поведением многопоточности, может с удовольствием взглянуть на GRDB.
- person Gwendal Roué; 20.09.2017