12.01.2014 Aufrufe

2-up - ETH Zürich

2-up - ETH Zürich

2-up - ETH Zürich

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.

Wie lange ist ein Thread laufend?<br />

• Bis er sich beendet<br />

• „stop“ oder Ende von „run“<br />

• Bis ein Thread höherer<br />

Priorität lauffähig wird<br />

• Übergang nach „lauffähig“<br />

• Sofortiger Threadwechsel ist aber nicht garantiert!<br />

• Bis er in den „blockiert“-Zustand übergeht<br />

• Explizit mit „suspend“, „wait“, „sleep“ etc.<br />

• Evtl. implizit durch E/A (es ist aber nicht garantiert, dass ein auf<br />

E/A-wartender Thread die CPU tatsächlich für andere freigibt!)<br />

• Bis er mit „yield“ die Kontrolle dem Scheduler übergibt<br />

• Oder vom Scheduler zwangsweise die CPU entzogen bekommt<br />

Vom Lateinischen „schedula“, Diminutiv von „scheda“ (bzw.<br />

„scida“) für einen abgespalteten Streifen der Papyrusstaude,<br />

woraus dann auch das deutsche Wort „Zettel“ entstand<br />

Ein laufender thread wird<br />

von der CPU ausgeführt<br />

780<br />

Thread-Scheduling<br />

• Scheduling: Planvolle Zuordnung der CPU an<br />

die einzelnen Threads (jeweils für einige Zeit)<br />

• Genaue Scheduling-Strategie ist in Java nicht standardisiert<br />

• Kann jede VM-Implementierung für sich festlegen (und damit<br />

Eigenheiten des zugrundeliegenden Betriebssystems effizient nutzen)<br />

• Man darf sich daher nicht auf „Erfahrungen“ verlassen<br />

(konkret: nicht auf die Wirkung von Zeitscheiben oder Prioritäten)<br />

• Scheduling mit Zeitscheiben kann von<br />

der VM realisiert sein, muss aber nicht<br />

sonst sind Programme<br />

nicht deterministisch<br />

und nicht portabel!<br />

• Thread läuft dann längstens bis zum Ablauf der Zeitscheibe (i.Allg.<br />

zyklisches Scheduling unter Threads gleicher maximaler Priorität)<br />

781<br />

323

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!