Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
1
Parallel Programming ( J ) CSP http://n.ethz.ch/~klauserc/FS10/PP/
2
Übersicht 1. Nachbesprechung Übung 6 2. Nachbesprechung Übung 7 3. Vorbesprechung Übung 8
3
1. NACHBESPRECHUNG ÜBUNG 6 Proofs
4
Labels für Thread A public void run() { while (true) { A1: // non-critical section A2: turn0.request(); A3: while (true) { if (turn1.read() == 1) break; A4: turn0.free(); A5: turn0.request(); } A6: // critical section A7: turn0.free(); }
5
public void run() { while (true) { A1: // non-critical section A2: turn0.request(); A3: while (true) { if (turn1.read() == 1) break; A4: turn0.free(); A5: turn0.request(); } A6: // critical section A7: turn0.free(); } public void run() { while (true) { B1: // non-critical section B2: turn1.request(); B3: while (true) { if (turn0.read() == 1) break; B4: turn1.free(); B5: turn1.request(); } B6: // critical section B7: turn1.free(); } turn0 wird ausschliesslich von Thread A gesetzt. Jeweils entweder turn0.flag == 0 weil gerade so gesetzt oder turn0.flag == 0 dank Induktionshypothese ( weil nicht geändert )
6
2. NACHBESPRECHUNG ÜBUNG 7 ReaderWriterLock
7
Eclipse und so …
8
3. VORBESPRECHUNG ÜBUNG 8 JCSP
9
Communicating Sequential Processes Broken Sensor Console Printer Irregular Signal Timed Polling req out res in reg out
10
Communicating Sequential Processes Broken Sensor Console Printer Timed Polling req out res in reg out Repeater assign in pulse in out
11
Nochmal Eclipse …
12
Dining Philosophers Locking mit JCSP implementieren Monitor ReaderWriterLock Semaphore Vorsicht Deadlocks !
13
Mergesort II: Revenge of JCSP Nein, das wird nur in der Theorie effizient sein ^^ Arrays sind Privatsache ; werden als Elementweise in einzelnen Nachrichten von Prozess zu Prozess geschickt Länge des Arrays muss signalisiert werden : 1. Nachricht enthält Länge Spezielle Ende - des - Array - Nachricht 2. Kanal für Kontrollnachrichten ( via select )
14
FRAGEN?
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.