Java - Ayuda con unos threads demasiado rápidos

 
Vista:

Ayuda con unos threads demasiado rápidos

Publicado por xkalate (13 intervenciones) el 03/06/2005 18:41:55
Saludos a toda la gente del foro. Tengo un problema y escribo a ver si alguien puede ayudarme a solucionarlo.
Tengo que realizar una práctica en Java, se trata de un parque de atracciones, en los que un nº determinado de threads son los clientes; hay que hacer una serie de semaforos y de mecanismos para entrar a las atracciones y al parque..esto ya lo he conseguido y va bien; el problema, es que tengo que tener un JFrame donde tengo que mostrar las estadisticas de cada atracción, la gente que hay en la cola, y he detectado casos extraños en la ejecución del programa. Después de comerme la cabeza, he descubierto el problema, y es que, cuando los threads van muy rápido, y con poco intervalo entre unos y otros; se saltan los mecanismos que sirven para contar cuanta gente hay o cuanta va saliendo de la atracción. A ver si alguien me podía ayudar con esto, porque no encuentro una solución para que no entren a la vez o muy seguidos y se salen los mecanismos de estadisticas. A ver si alguien me puede echar una manita. Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con unos threads demasiado rápidos

Publicado por Sergio (24 intervenciones) el 07/06/2005 11:01:42
Si no has utilizado esto, utilizalo en el metodo run:

...
try{
Thread.sleep(MILISEGUNDOS);
}catch(InterruptedException ie){}
...

Pero si lo has utilizado, piensa en usar wait(), notify() y/o notifyAll(), en metodos sincronizados
No se muy bien como se hacen, pero se que lo que hace es que en un metodo, pueda pausarse con un wait y desde otro puede reanudarlo con un notify().

En esta página te explican bastante bien como funciona todo esto:

http://www.programacion.com/blogs/80_tecnicas_de_programacion/archive/580_wait_y_notify.html

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar