Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

Samtidighed. Disposition Formål med tråde Eksempel på fordel ved tråde Thread-pooling Livscyklus Problemstillinger Algoritmer ◦Dekkers ◦Peterson Opsumering.

Lignende præsentationer


Præsentationer af emnet: "Samtidighed. Disposition Formål med tråde Eksempel på fordel ved tråde Thread-pooling Livscyklus Problemstillinger Algoritmer ◦Dekkers ◦Peterson Opsumering."— Præsentationens transcript:

1 Samtidighed

2 Disposition Formål med tråde Eksempel på fordel ved tråde Thread-pooling Livscyklus Problemstillinger Algoritmer ◦Dekkers ◦Peterson Opsumering

3 Formål Håndtere flere forespørgsler parallelt ◦En server med mange klienter Udnytte ventetid ◦F.eks. ved IO (Netværk, Harddisk) Udnytte flere processorer

4 Eksempel 1 server, mange klienter ◦Uden tråde  Få request ◦Med tråde  Flere request ◦Med tråde og cache  Mange request

5 Thread-pooling Fast antal “worker threads” ◦Forespørgsler fordeles ud på worker-trådene ◦Når der er flere tråd-forspørgsler end worker threads bliver de sat I kø Begrænser overhead ved tråde ◦Minimerer det samlede overhead ◦Balance-gang

6 Livscykluser for tråde

7 Problemstillinger Inteferens Deadlock Livelock Starvation ◦Tråd får ikke resourcer den har brug for

8 Algoritmer til låsning Kritisk region Flag Turn/Last

9 Dekkers 1public void wantToEnterCS(int i) { 2desiresCS[i].value = true; 3while (desiresCS[other(i)].value) { 4if (turn != i) { 5desiresCS[i].value = false; 6while (turn != i) Thread.yield(); 7desiresCS[i].value = true; 8} 9} 10} 11public void finishedInCS(int i) { 12desiresCS[i].value = false; 13turn = other(i); 14}

10 Petersons 1public void wantToEnterCS(int i) { 2desiresCS[i].value = true; 3last = i; // records who last tried to enter 4while (desiresCS[other(i)].value && last == i) 5Thread.yield(); 6} 7public void finishedInCS(int i) { 8desiresCS[i].value = false; 9}

11 Opsumering Tråde for at forbedre performance ◦Ved ventetid ◦Ved flere processorer Komplicerer programmer ◦Inteferens ◦Låse og dertilhørende problemer


Download ppt "Samtidighed. Disposition Formål med tråde Eksempel på fordel ved tråde Thread-pooling Livscyklus Problemstillinger Algoritmer ◦Dekkers ◦Peterson Opsumering."

Lignende præsentationer


Annoncer fra Google