Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Prüfungen im Bachelor-Studium (1. - 5. Semester) » pfp » Lösungsvorschlag (Übersicht)
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige ÜberarbeitungVorherige ÜberarbeitungNächste Überarbeitung | Vorherige ÜberarbeitungLetzte ÜberarbeitungBeide Seiten, nächste Überarbeitung |
pruefungen:bachelor:pfp:loesungss12 [14.07.2017 13:22] – ab21ajus | pruefungen:bachelor:pfp:loesungss12 [14.07.2017 13:23] – ab21ajus |
---|
} | } |
// TODO: 4 | // TODO: 4 |
// inner.await(); -- not needed | // inner.await(); -- not needed // EDIT: Wieso nicht? Die Threads nutzen eine gemeinsame Datenstruktur, und wenn einer etwas daran ändert, muss eine Sichtbarkeitssynchronisation vorgenommen werden, die mit einer Barrier möglich ist. Sonst würden andere Threads bereits den unteren Code ausfuehren, ohne die Garantie, dass für irgendeinen das Ende (-1) sichtbar ist. Lasse mich gerne korrigieren, falls ich falsch liege. |
int distance = 1 ; | int distance = 1 ; |
while (distance < next.length) { | while (distance < next.length) { |
</code> | </code> |
| |
<note>Vermutlich reicht das inner.await() am Ende der While-Schleife. Als ich weiter oben ein <code>if (index == 0) { Thread.sleep(1000); }</code> stehen hatte, lieferte der Code immer noch das richtige Ergebnis. Bin mir da aber nicht hundert Pro sicher :-P | <note>Vermutlich reicht das inner.await() am Ende der While-Schleife. Als ich weiter oben ein <code>if (index == 0) { Thread.sleep(1000); }</code> stehen hatte, lieferte der Code immer noch das richtige Ergebnis. Bin mir da aber nicht hundert Pro sicher :-P</note> |
| |
// EDIT: Wieso sollte man die Barriere weglassen können? Die Threads nutzen eine gemeinsame Datenstruktur, und wenn einer etwas daran ändert, muss eine Sichtbarkeitssynchronisation vorgenommen werden, die mit einer Barrier möglich ist. Sonst würden andere Threads bereits den unteren Code ausfuehren, ohne dass für irgendeinen das Ende (-1) sichtbar ist. Lasse mich gerne korrigieren, falls ich falsch liege. | |
</note> | |
| |
==== Aufgabe 6 (Sichtbarkeit und Wettlaufsituation) ==== | ==== Aufgabe 6 (Sichtbarkeit und Wettlaufsituation) ==== |