import java.util.concurrent.*; // Tre Semaphorer init til 1 d kan g? i vrangl?s class Oppg1 { // felles data og metoder A Semaphore [] a= new Semaphore[3]; 1 public static void main(String [] args) { Oppg1 p = new Oppg1(); p.utfoer(3); } void utfoer (int antT) { for (int i = 0; i 0) { // kalles n?r tr?den er startet System.out.println(" Tr?d PRE:"+ind); try { a[ind].acquire(); a[(ind+1)%3].acquire(); } catch (Exception e) {return;} System.out.println(" Tr?d POST:"+ind); a[ind].release(); a[(ind+1)%3].release(); } System.out.println(" Tr?d POST:"+ind+" TERMINERER"); } // end run } // end indre klasse Arbeider //Mulig vrangl?s acquire (ingen greier ? si release(): // t0: 0 1 (venter p? t1 for ? f? 1) // t1: 1 2 (venter p? t2 for ? f? 2) // t2: 2 0 (venter p? t0 for ? f? 0) } // end class Oppg1