Firebird AND Threads
Hola A todos tengo un problema en el que espero puedan ayudarme.
Un dia intentando probar el Acceso a una base de Datos de Firebird, realice la siguiente prueba en la misma aplicación cree dos Threads los cuales se ejecutarían al mismo tiempo cada uno con un Query y una transacción diferente, los arranque los dos al mismo tiempo, y mi sorpresa es que la aplicación se queda completamente colgada cuando se encuentran los dos, ósea no hay error de la aplicación o de comparición de recurso solamente se queda colgada. Ok Esto se puede arreglar por medio de Secciones Criticas o Semáforos Etc. En este caso en particular de dos Threads.
Esta solo fue una prueba que me enseño lo que pasaba. Bueno el problema que tengo es: Tengo una aplicación la cual tiene solo un Thread el cual esta realizando operaciones de lectura y escritura periódicamente, mientras que el hilo principal de la aplicación se dedica a hacer otras cosas, un dia tube la necesidad de que esta aplicación vigilara la escritura de una tabla por medio de un evento de Firebird y realizara algo al momento de la escritura en dicha tabla.
por medio de IBX use el componente de Eventos y lo bote en la aplicación principal, ahora debido al funcionamiento de este tipo de componentes los cuales se cuelgan del hilo principal de la aplicación. Al momento de lanzar un evento como era de esperarse, se pone en conflicto con el Thread de esta misma aplicación y de la misma forma que se quedaba la primera aplicación que les mencionaba se queda colgada. ahora como puedo salvar este problema usando Secciones Criticas o
Semáforos, alguien sabe por que se suscita este problema cual es la causa.
|