Является ли sqlite.swift потокобезопасным?

Можно ли использовать sqlite.swift из нескольких потоков (чтение / запись одной и той же таблицы). Я попытался определить его из настроек сборки, но не нашел слов SERIALIZED, MULTITHREAD или THREADSAFE.
Используется ли оригинальная библиотека sqlite3 C под капотом?


person denys    schedule 15.09.2017    source источник


Ответы (1)


По умолчанию для параметра SQLITE_THREADSAFE установлено «сериализованное».

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

person CL.    schedule 15.09.2017
comment
Любой, кто интересуется библиотекой Swift Sqlite с надежным и четко определенным поведением многопоточности, может с удовольствием взглянуть на GRDB. - person Gwendal Roué; 20.09.2017