? Computerprogramme können mehrere Code-Blöcke zur gleichen Zeit durch die Parallelität Programm auszuführen. Dies ermöglicht ein hohes Maß an Flexibilität , dass Programme können Anfragen oder Daten gesondert zu behandeln aus dem Hauptprogramm , ohne die Ausführung des Programms selber. Programme tun dies durch die Verwendung von Threads. Die Verwaltung dieser Ausführungs-Threads umfasst die Verwaltung ihrer Ressourcen und wie das Programm beabsichtigt, sie zu überwachen . Ein Unterschied zwischen dem, wie ein Programm unterhält Fäden in der Differenz zwischen " joinable " und " frei " Themen vertreten. Themen
In Computer-Programmierung , bezieht sich " multithreaded " oder " gleichzeitige " Programmierung auf die Technik der Erstellung separater Ausführungs-Threads im selben Programm . Jeder Thread in einem Programm führt einige Code neben den anderen Themen in diesem Programm , so dass mehrere Code-Blöcke zur gleichen Zeit laufen. Wenn ein Programm beginnt , gibt es immer einen Thread , der "Haupt"- Gewinde, aus denen andere Threads laichen zu anderen Code-Blöcke umgehen kann .
Lötbare Themen
Mit verschiedenen Threads zur gleichen Zeit im gleichen Programm , wird Thread Wartung von entscheidender Bedeutung. Eine Möglichkeit der Aufrechterhaltung Themen ist es, die "join" -Funktionen zu nutzen. Lötbare Themen neben den anderen Threads eines Programms ausgeführt werden , wie es typisch für Threads. Allerdings kann der Haupt-Thread warten, um den erzeugten Thread beitreten . Der Haupt-Thread , statt sie zu erledigen mehr Code , darf die Join- Funktion des Fadens , damit ein anderer Thread seine Aufgabe zu beenden . Die erzeugten Thread , einmal abgeschlossen, gibt einen Exit- Code signalisiert einen normalen Ausgang oder einen Fehler , und der Haupt-Thread nimmt die Ausführung .
Freistehende Themen
Einfamilienhaus Threads funktionieren ein wenig anders. Wenn ein Thread explizit von seiner Haupt-Thread gelöst , es hat nicht mehr den Anschluss an diesem Thread . Der Faden -und Ausgängen wie jedes andere Gewinde und wird dann beendet , wenn Sie fertig . Der Haupt-Thread nicht überwachen kann die erzeugten Thread . Die erzeugten Thread beendet , wenn Sie fertig , also der Haupt-Thread muss nicht explizit mit dem Thema später kommen im Programm.
Auflösung des laufenden Threads
Fügen und Trennen Themen ermöglichen zwei verschiedene Modi der Thread-Verwaltung . Durch deinen Thread als joinable kann der Programmierer zwingen das Programm mit dem Faden später in Ausführung kommen . Dieser Join auftreten müssen, um die Ressourcen durch die erzeugten Thread verwendet werden, wie Stack und Heap-Speicher zu befreien. Ein freistehendes Gewinde, einmal gelöst , führt bis beendet , und das System automatisch reklamiert die verwendeten Ressourcen. Allerdings kann der Haupt-Thread nicht den Status eines freistehenden Faden durch einen Join . Daher wird das Hauptprogramm nicht wissen, ob ein hervorgebracht , freistehend Thread beendet seine Aufgabe erfolgreich , denn sie erhält nie einen Exit-Code aus dem Thread .