Oppgaver uke 10

 

Oppgave 1:

  1. N?r er det fordelaktig ? benytte CountDownLatch? Og n?r er det fordelaktig ? benytte CyclicBarrier? Diskuter forskjellen mellom de 2. 
  2. Du ?nsker ? skrive ut noe p? skjermen hver 5. gang en oppgave er utf?rt, uavhengig av hvilke tr?der som har gjort oppgaven. Hva slags barriere ville du benyttet her?

Oppgave 2:

  1. Lag et program som starter opp 8 tr?der. Alle tr?dene skal si hei 2 ganger, men ingen av tr?dene har lov til ? si hei den andre gangen f?r alle tr?dene er ferdig med ? si hei den f?rste gangen.
  2. Utvid deloppgave 1, n? skal tr?dene skrive ut hei 3 ganger. En tr?d kan ikke skrive ut hei den tredje gangen, f?r alle tr?dene er ferdig med ? skrive hei ut den andre gangen.

Oppgave 3:

Endre oppgave 2 fra forrige uke, slik at personen som fyller opp brusautomaten blir ferdig n?r alle kundene er ferdig. 

Oppgave 4:

Skriv et program som starter noen tr?der (akkurat hvor mange bestemmer du selv). Du skal lage en klasse Deltaker(Tr?der), og de konkurrerer i ? sende det st?rste tallet til monitoren (Tallet de sender skal genereres tilfeldig, og skal v?re positive heltall). Den tr?den som har det st?rste tallet skal slutt skrive ut at den har vunnet konkurransen, men for at en tr?d skal vite om den har skrevet ut det h?yeste tallet m? den vente til alle tr?dene er ferdig. Monitoren trenger to metoder, en for for ? ta imot et nytt tall ,og en for ? returnere det. Husk at kun en tr?d kan endre p? data om gangen.

Publisert 29. mars 2023 23:39 - Sist endret 29. mars 2023 23:39