Threadeigenschaften
Ein Thread ist die planbare Entität.
Es hat nur die Eigenschaften, die erforderlich sind, um die unabhängige Steuerung des Ablaufs sicherzustellen. Dazu gehören die folgenden Eigenschaften:
- Stack
- Planungseigenschaften (z. B. Richtlinie oder Priorität)
- Gruppe anstehender und blockierter Signale
- Einige threadspezifische Daten
Ein Beispiel für threadspezifische Daten ist der Fehleranzeiger errno . In Multithread-Systemen ist errno keine globale Variable mehr, sondern normalerweise eine Subroutine, die einen threadspezifischen errno -Wert zurückgibt. Einige andere Systeme stellen möglicherweise andere Implementierungen von errnobereit.
Threads innerhalb eines Prozesses dürfen nicht als Gruppe von Prozessen betrachtet werden. Alle Threads nutzen denselben Adressraum gemeinsam. Dies bedeutet, dass zwei Zeiger mit demselben Wert in zwei Threads auf dieselben Daten verweisen. Wenn ein Thread eine der gemeinsam genutzten Systemressourcen ändert, sind auch alle Threads innerhalb des Prozesses betroffen. Wenn beispielsweise ein Thread eine Datei schließt, wird die Datei für alle Threads geschlossen.