Hola a todos comunidad,
MI pregunta es teorica ya que no se como explicarla por medio de codigo, cualquier consejo que me brinden ayudara a solucionar mi problema.
El lio es el siguiente, tengo una aplicacion que implementa una hilo, este hilo se ejecuta cada X cantidad de tiempo y me hace un determinado proceso que llamo PROCESO 1, ahora el usuario tambien puede interactuar con el sistema y ejecutar el proceso PROCESO 1 a voluntad propia...
Y pues no se como evitar que tanto el hilo como la accion del usuario me activen el PROCESO 1 al mismo tiempo. Es decir si primero ingresa a PROCESO 1 el hilo no se como evitar que mientras se ejecuta ese proceso el usuario no pueda volver a llamarlo y si el usuario llama dicho proceso, que el hilo no lo pueda llamar....
gracias por las respuestas
Si estas trabajando con la clase Thread, puedes hacer uso del metodo isAlive() que determina si el hilo esta activo y luego hacer lo que buscas:
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Thread.html#isAlive%28%29 (http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Thread.html#isAlive%28%29)
salu2
Saludos, gracias por responder,
Bueno mas o menos asi es el hilo que se ejecuta, y sucede que siempre va estar activo isAlive() ya que se ejecuta cada x cantidad de tiempo durante la ejecucion de la aplicacion y solo se detiene si se cumple una condicion que es la que esta con comentarios... Pero aveces me genera error en tiempo de ejecucion.
class Hilos extends Thread{ //creamos la clase hilo
public Hilos (String id){
}
public void run(){ //corremos la clase hilo
int sleepTime;
while(1==1){
while(mover.valc==2){ //me detiene el hilo momentaneamente mientras se ejecuta el metodo 1 desde otro metodo
grav.gravedad1();
txt.requestFocus();
try{
sleep(dormir);
}catch(InterruptedException exception){
System.err.println("ha ocurrido un error");
}
}
}
}
}//fin de la clase hilos