FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Threads y transacciones
Hola compañeros
Os comento mi problema a ver si alguien me puede ayudar. Estoy programando un software de testeo para comprobar la respuesta de Firebird 1.5 ante un montón de peticiones concurrentes a un stored procedure. Para realizarlo no se me ha ocurrido nada mejor que usar Threads. Crearé diferentes hilos con bucles que llamen a mi SP. He creado el Thread y las primeras pruebas con un solo hilo han ido perfectas. El problema ha llegado al crear un segundo hilo, ahí ha dejado de funcionar todo. Os informo de que el componente IBQuery y el IBTransaction los creo y destruyo dentro del Thread. La base de datos la tengo en un Datamodule. ¿Hay alguna cosa a tener en cuenta cuando trabajamos con Threads y bases de datos? Mi experiencia con Threads es minima, pero he conseguido que funcionen programas sencillos de ejemplo. Muchas gracias por vuestra atención. |
#2
|
||||
|
||||
En este caso, para simular la correcta conexión de muchos clientes, debieras crear un database y una transacción para cada hilo.
Además, desconozco el ibx es thread-safe, es decir, si soporta diferentes llamadas concurrentes desde una misma aplicación en multiples hilos, dado que esto no siempre es viable. Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#3
|
|||
|
|||
Muchas gracias, tienes razón.
Mi problema era el IBDatabase que no lo creaba en el hilo. |
#4
|
||||
|
||||
????
Anduj puedes poner un ejemplo de como trabajas con ibquery e ibDataBase en Hilos, lo que pasa es que a mí también me paso eso hace tiempo y por lo que veo a ti si te funciono con crear el ibdatabase pero quiero ver que más me falta a parte de eso....
Te agradecería mucho algún ejemplo ó bien un pequeño análisis de la implementación del Hilo.... |
#5
|
|||
|
|||
Perdona que no te haya respondido antes, he estado de vacaciones. Mañana cuando tenga un momento te mando un trozo de código.
Saludos |
#6
|
||||
|
||||
Despues nos cometas tus resultados y observaciones
Gracias
__________________
[Crandel] |
|
|
|