Un colega al que le pregunte sobre el tema me comento que si el driver ODBC de
postgres era thread-safe no tenia que preocuparme, que el driver manejaba el
tema, que podía ejecutar las consultas desde cualquier hilo de mi app.
Me envio esto:
"En sistemas multihilos los drivers deben ser thread-safe. Es decir, debe ser
posible para las aplicaciones utilizar el mismo handle en más de un hilo. Cómo
se consigue esto es específico del driver, y es probable que los drivers
serialicen cualquier intento de usar simultáneamente el mismo identificador en
dos hilos diferentes. La aplicación crea un hilo separado, llama a una función
ODBC en él, y después continúa el procesamiento en el subproceso principal..."
La verdad es que probe y hasta ahora funciona...
Algun otro consejo?
De: Julio Cesar Rodriguez Dominguez [mailto:[email protected]]
Enviado el: Jueves, 20 de Mayo de 2010 13:42
Para: DT-Azahel Manso
CC: [email protected]; [email protected]
Asunto: Re: [pgsql-es-ayuda] Driver ODBC
El 20 de mayo de 2010 14:21, <[email protected]> escribió:
Lo que tengo hecho para probar es crear la conexión en el hilo principal y
ejecutar las consultas desde cada hilo.
Ha funcionado bien, pero tengo mis dudas... de ahí la pregunta.
El ODBC por si solo, no creo que lo sea, pero bloqueando los recursos de la
base de datos no deberías tener problemas. Esto es similar a que existan varias
conexiones, actualiza el proceso que gane el bloqueo, en tu caso el hilo, otra
cosa que podrías hacer es a nivel de programación manejar una sincronización de
hilos, de manera que solo un hilo se ejecute a la vez cuando se trate de
actualizar.