class Tarea2 |
import java.util.concurrent.CountDownLatch; public class Tarea2
extends Thread { private CountDownLatch signal; public Tarea2(CountDownLatch signal) { this.signal = signal; } public void run() { // hace su tarea System.out.println("termino
..."); signal.countDown(); } } |
class LlegadaSincronizada |
import
java.util.concurrent.CountDownLatch; public class
LlegadaSincronizada { private static final int N = 10; public static void main(String[] args) throws InterruptedException { Tarea2[] tareas = new Tarea2[N]; CountDownLatch signal = new CountDownLatch(tareas.length); for (int i = 0; i < tareas.length; i++) tareas[i] = new Tarea2(signal); for (Tarea2 tarea : tareas) tarea.start(); //
espero N señales signal.await(); System.out.println("fin"); } } |
Temas relacionados