Java - clase semaphore

 
Vista:
sin imagen de perfil
Val: 9
Ha aumentado 1 puesto en Java (en relación al último mes)
Gráfica de Java

clase semaphore

Publicado por licor (4 intervenciones) el 03/06/2019 22:34:14
Hola estoy realizando un ejercicio con la clase semaphore, en el ejercicio necesito gestionar 2 hilos, A y B, me piden que se ejecute el hilo B antes que el A pero con el semaforo inicializando en cero para que el Hilo A este en espera y cuando el Hilo B haga su release sea cuando el hilo a se ejecute...

Como hago esto?? como hago que el Hilo B se ejecute?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-1
Responder
sin imagen de perfil
Val: 203
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

clase semaphore

Publicado por Jose Andres (27 intervenciones) el 05/06/2019 04:08:44
No te he entendido bien y no estoy seguro de cual es tu problema
1.- Un hilo se ejecuta con la funcion start del Thread
1
new Thread(this).start();

2.- No te entiendo eso de el semaforo inicializado en cero, pero puedes nombrar un hilo
1
2
3
new Thread(this,"Nombre").start();
//Para obtener el nombre dentro del metodo run
Thread.currentThread().getName()

3.- Si lo que quieres es iniciar un hilo justo cuando otro termine usa la funcion join del Thread
1
2
3
4
Thread R=new Thread(this,"Primero");
R.start();
R.join();
new Thread(this,"Segundo").start();
De esta manera siempre se ejecutara el primer hilo y una vez terminado CONTINUA con la ejecucion del programa y
la siguiente instruccion es el segundo hilo


En este ejemplo el metodo run quedaria asi
1
2
3
4
@Override
public void run() {
   System.out.println(Thread.currentThread().getName());
}
y tu salida siempre sera:

Primero
Segundo

Saludos y espero te sirva de ayuda
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