16.01.2014 Aufrufe

6 Race Conditions

6 Race Conditions

6 Race Conditions

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

206<br />

10 <strong>Race</strong> <strong>Conditions</strong><br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Abb. 10–3<br />

Die Happens-Before-Relation ordnet Operationen gemäß ihrer potenziellen Reihenfolge der<br />

Ausführung.<br />

Abbildung 10–4 zeigt, dass man nicht all zu früh ausschalten sollte, denn die Auswertung<br />

über die Halbordnung kann auch Data <strong>Race</strong>s »übersehen«, wenn es nur<br />

wenige Kontextwechsel gibt. Beim gezeigten Ablauf ist das der Fall (ein einziger<br />

Context Switch): Der Zugriff auf die gemeinsam verwendete Variable y ist nicht<br />

geschützt und dennoch gemäß Happens-Before geordnet.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Abb. 10–4<br />

Dieses Data <strong>Race</strong> um y wird nicht erkannt, weil in der abgebildeten Scheduling-Reihenfolge<br />

beide Zugriffe auf y gemäß der Happens-Before-Relation geordnet sind.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!