import java.util.concurrent.ThreadLocalRandom; /** * Dette programmet oppretter en papirflyfabrikk med mellom 1 og 20 * papirflybrettere som kjører på hver sin tråd, og tilsvarende mellom * 1 og 20 papirflybrettere som også kjører på hver sin tråd. * * Hver papirflybretter/kaster skal brette/kaste 10 papirfly før de * er ferdige for dagen. På samlebåndet i fabrikken er det maksimalt * plass til 5 papirfly av gangen. * * For å synkronisere trådene bruker vi en monitor for å beskytte * samlebåndet, og en CountDownLatch per type arbeider. * * @author Sivert Fjeldstad Madsen mars 2023 */ public class PapirflyHovedprogram { public static void main(String[] args) { int antBrettere = ThreadLocalRandom.current().nextInt(1, 21); int antKastere = ThreadLocalRandom.current().nextInt(1, 21); System.out.printf("Antall brettere: %d, antall kastere: %d%n", antBrettere, antKastere); Papirflyfabrikk p = new Papirflyfabrikk(5, antBrettere, antKastere); p.startFabrikk(); } }