Wenn wir einen Thread starten, setzt das Betriebssystem diesen Thread in die Warteschlange, und der Scheduler des Betriebssystems führt diesen Thread aus, wenn die Zeit (Quantum) kommt, also wie das Betriebssystem versteht, ob der Thread seine Operation beendet hat?Wie funktioniert das Betriebssystem, wenn ein Thread beendet wurde?
0
A
Antwort
1
Der Thread ruft eine betriebssystemspezifische Funktion auf. Diese Funktion teilt dem Betriebssystem mit, dass es abgeschlossen ist. In den meisten Sprachen/Frameworks wird dies hinter den Kulissen für Sie erledigt.
1
Es gibt im Allgemeinen zwei Mechanismen zum Beenden von Kernel-Threads. Sie sind die gleichen wie für die Beendigung von Prozessen.
- Ein expliziter Aufruf an einen Systemdienst, um den Thread zu beenden; oder
- Ein impliziter Aufruf an einen Systemdienst zum Beenden, der aufgerufen wird, wenn die Hauptfunktion des Threads beendet wird.
Aber wie? Wir übergeben die Methodenreferenz nur beim Starten des Threads, fügt Os Code am Ende des Thread-Funktionscodes ein? – spartacus
Sie übergeben eine Methode an das Betriebssystem. Das Betriebssystem ruft es auf. Wenn es zurückkehrt, ruft die OS/Framework-Funktion, die es aufgerufen hat, die Funktion os thread finished auf –