1
我在我的C++應用程序中使用SQLite。 SQLite線程模式設置爲多線程,以便共享單個數據庫連接的多個線程將被允許。在這種情況下,我是否需要如下所示包裝數據庫操作?或者這不是必需的?SQLite多線程互斥體
void SomeClass::someDbOperationOnAThread(void *arg) {
sqlite3_mutex_enter(sqlite3_db_mutex(db));
// Perform some queries on the database
sqlite3_mutex_leave(sqlite3_db_mutex(db));
}
Thanks @CL。 。所以,說多個線程有自己的連接到數據庫,那麼,如果操作仍然有互斥體? – KBancho
什麼互斥量?那麼互斥體會保護什麼? –
互斥體,你在我的問題的代碼片段中看到。 SomeClass的成員屬性,比方說,從INSERT返回的值(例如,最後一行ID)將被保護的是什麼。 – KBancho