Как проверить режим потоков SQLite? - PullRequest
3 голосов
/ 12 ноября 2010

Можно ли проверить режим потоков активного соединения SQLite?Я знаю о sqlite3_threadsafe(), но

Возвращаемое значение функции sqlite3_threadsafe () показывает только настройку безопасности потока во время компиляции, а не любые изменения времени выполненияэта настройка сделана sqlite3_config ().

Ответы [ 2 ]

0 голосов
/ 25 сентября 2017

Хммм, семилетний вопрос. Вы сами на это ответили. Для следующего человека, который приходит смотреть:

sqlite3_mutex вернет NULL, если режим потоков является однопоточным или многопоточным.

Итак, мы имеем:

(sqlite3_threadsafe, sqlite3_mutex): режим потоков

(0, NULL): однопоточный

(1, NULL): Mutli-thread

(1, действительный): Сериализовано

0 голосов
/ 26 ноября 2010

Вот частичный ответ:

sqlite3_mutex *sqlite3_db_mutex(sqlite3*);

Этот интерфейс возвращает указатель на sqlite3_mutex объект, который сериализует доступ к базе данных подключения приведены в аргументе, когда режим потоков является Сериализованным. Если Режим нарезки - однопоточный или Многопоточность, то эта процедура возвращает нулевой указатель.

Теперь мне нужен только способ отличить однопоточность от многопоточности ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...