2008-12-10 9 views
5

Necesito operaciones de acceso a la base de datos desde varios subprocesos, a través de un objeto singleton, que contiene una conexión de base de datos. Leí en el sitio web de SQLite3, diciendo que 'una estructura sqlite3 solo podría usarse en el mismo hilo que llamó a sqlite3_open() para crearla. No se puede abrir una base de datos en un hilo y luego pasar el controlador a otro hilo para que lo use '. Me pregunto bajo mi situación, ¿hay alguna amenaza de inseguridad en el hilo?¿Está seguro el subproceso de SQLite en esta situación?

Respuesta

11

Si la biblioteca SQLite está compilada con -DSQLITE_THREADSAFE está bien con las versiones más recientes de SQLite 3.

El autor de SQLite says:

partir de la versión 3.5.0, SQLite impone esta misma usando sus propios
mutex internos, por lo que la aplicación es gratuita para (intentar) utilizar la misma base de datos
conexión de múltiples hilos al mismo tiempo.

Cuestiones relacionadas