hilos, interaccion entre estos.

diego
01 de Junio del 2005
Por cada cliente que se conecta a mi aplicacion se crea un socket en un hilo, y cada uno de estos hilos crea a su vez dos hilos mas que se conectan a una base de datos donde recuperan informacion de cada cliente que se conecta, el problema es el siguiente: cuando el par de hilos del cliente X (socket X), recupera informacion importante le manda una señal al cliente X, para que refresque su pantalla. Luego como ya le mando la señal, una variable boolean dentro de los hilos Xs cambian su estado y si los clientes Y o Z tenian que refrescar, ya no lo hicieron.

Tratare de ilustrarlo mejor, si hay 3 clientes conectados a mi aplicacion, hay 3 Hilos(Sockets) X, Y y Z. cada uno interactua con 2 hilos(X1,X2,Y1,Y2,Z1,Z2) que son creados por su respectivo hilo. cada uno de los hilos X Y Z tienen una variable boolean VIVO para indicar que estan conectados y corriendo la cual los otros hilos estan minitoreando cada iterecion dentro de run() para salir de este en cuanto VIVO sea false, Pero si solo Y se desconecta es cachada una excepcion y su variable VIVO es false, pero en lugar de que solo Y1 y Y2 salgan de run() y mueran, tambien lo hacen X1,X2 y Z1,Z2 y tanto X como Z se quedan conectados pero sin obtener nada de la aplicacion pues todos murieron. Por cierto tanto Y, X y Z se llaman igual, hiloSocket, y los hilos que arrancan cada uno de estos se llaman ConsultaCotiza, ConsultaPostura, no he podido darle un nombre unico a los hiloSocket que se crean, creo que es por ahi la solucion pero como. el setName() lo he intentado sin exito. Me parece que comparten la misma variable VIVO aunque se supone que cada hilo crea la propia, y las tengo como public pues de lo contrario los hilos que son creados no la verian....

gracias.