class Tarea |
import
java.util.concurrent.Semaphore; public class Tarea
extends Thread { private Semaphore contador; public
Tarea(Semaphore contador){ this.contador
= contador; } public
void run() { //
hace su tarea contador.release(); } } |
class EsperaNThreads |
public class
EsperaNTareas { public static void main(String[] args) throws InterruptedException { Semaphore contador = new
Semaphore(0); List<Tarea> tareas = new
ArrayList<Tarea>(); tareas.add(new Tarea(contador)); //
... N veces for
(Tarea tarea : tareas)
tarea.start(); //
espera a que todas acaben
contador.acquire(tareas.size()); } } |
Temas relacionados
Semáforo [semaphore] (concepto)