Heim  >  Artikel  >  Was ist ein Thread?

Was ist ein Thread?

青灯夜游
青灯夜游Original
2019-06-11 13:51:4771894Durchsuche

Thread ist die kleinste Einheit, mit der das Betriebssystem die Betriebsplanung durchführen kann. Es wird in den Prozess eingebunden und ist die eigentliche Bedieneinheit im Prozess. Ein Thread bezieht sich auf einen einzelnen sequenziellen Kontrollfluss in einem Prozess. In einem Prozess können mehrere Threads gleichzeitig ausgeführt werden, und jeder Thread führt parallel unterschiedliche Aufgaben aus.

Was ist ein Thread?

Threads sind die Grundeinheit der unabhängigen Planung und des Versands. Threads können vom Betriebssystemkernel geplante Kernel-Threads sein, z. B. Win32-Threads, vom Benutzerprozess selbst geplante Threads, z. B. POSIX-Thread auf der Linux-Plattform, oder gemischte Planungen vom Kernel und Benutzerprozessen, z. B. Windows 7-Threads .

Mehrere Threads im selben Prozess teilen sich alle Systemressourcen im Prozess, wie z. B. virtuellen Adressraum, Dateideskriptoren, Signalverarbeitung usw. Aber mehrere Threads im selben Prozess haben ihre eigenen Aufrufstapel, ihren eigenen Registerkontext und ihren eigenen Thread-lokalen Speicher.

Ein Prozess kann viele Threads haben und jeder Thread führt parallel verschiedene Aufgaben aus.

Funktionen

In einem Multithread-Betriebssystem sind normalerweise mehrere Threads in einem Prozess enthalten. Jeder Thread ist die Grundeinheit der CPU-Auslastung und verursacht einen minimalen Overhead juristische Person. Threads haben die folgenden Eigenschaften.

1), leichte Entitäten

Die Entitäten im Thread besitzen grundsätzlich keine Systemressourcen, sondern verfügen nur über einige wesentliche Ressourcen, die einen unabhängigen Betrieb gewährleisten können.

Thread-Entitäten umfassen Programme, Daten und TCB. Thread ist ein dynamisches Konzept und seine dynamischen Eigenschaften werden durch den Thread Control Block (TCB) beschrieben.

2), Grundeinheit der unabhängigen Terminplanung und Disposition.

In einem Multithread-Betriebssystem ist ein Thread die Grundeinheit, die unabhängig ausgeführt werden kann und daher auch die Grundeinheit für unabhängige Planung und Verteilung ist. Da Threads sehr „leicht“ sind, ist der Thread-Wechsel sehr schnell und verursacht nur wenig Overhead (im selben Prozess).

3), können gleichzeitig ausgeführt werden.

Mehrere Threads in einem Prozess können gleichzeitig ausgeführt werden, und sogar alle Threads in einem Prozess können gleichzeitig ausgeführt werden. Threads in verschiedenen Prozessen können auch gleichzeitig ausgeführt werden, wobei die Fähigkeiten des Prozessors voll ausgenutzt werden Peripheriegeräte parallel arbeiten.

4), gemeinsame Prozessressourcen.

Jeder Thread im selben Prozess kann die Ressourcen des Prozesses gemeinsam nutzen. Dies zeigt sich zunächst darin, dass alle Threads denselben Adressraum (den Adressraum des Prozesses) haben, was bedeutet, dass Threads auf alle zugreifen können virtuelle Adresse in diesem Adressraum; darüber hinaus können Sie auch auf offene Dateien, Timer, Semaphormechanismen usw. zugreifen, die dem Prozess gehören. Da Threads im selben Prozess Speicher und Dateien gemeinsam nutzen, kommunizieren Threads miteinander, ohne den Kernel aufzurufen.

Das obige ist der detaillierte Inhalt vonWas ist ein Thread?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn