2011-10-21 14 views
5

En los documentos aquí: http://www.sqlite.org/threadsafe.htmlmodo serializado de SQLite

Para el modo serializado que dice: "En el modo de serializado, SQLite puede ser utilizado con seguridad por múltiples hilos sin restricción."

Quiero asegurarme de que entiendo la garantía presentada allí. Si se abre una única conexión de base de datos utilizando el indicador "SQLITE_OPEN_FULLMUTEX" y dos hilos simultáneamente intentan llamar a sqlite3_exec en el mismo instante, ¿Sqlite serializa automáticamente las llamadas?

Respuesta

4

La respuesta es sí. sqlite3_exec() tomará un mutex cuando se ingrese la función y liberará el texto muteado una vez que se haya dejado la función. Solo un hilo puede poseer el mutex en cualquier momento dado, por lo que solo un hilo puede ejecutar sqlite3_exec() en cualquier momento dado. Si dos hilos intentan ejecutar sqlite3_exec() al mismo tiempo, uno esperará al otro.

Cuestiones relacionadas