C ++ - Bibliothek - <Thread>
Einführung
Thread ist eine Folge von Anweisungen, die gleichzeitig mit anderen derartigen Sequenzen in Multithreading-Umgebungen ausgeführt werden können, während derselbe Adressraum gemeinsam genutzt wird.
Mitgliedertypen
| Sr.Nr. | Mitgliedertyp & Beschreibung |
|---|---|
| 1 | Ich würde Es ist eine Thread-ID. |
| 2 | Nativer Handle-Typ Es ist ein nativer Handle-Typ. |
Mitgliedsfunktionen
| Sr.Nr. | Mitgliedsfunktion & Beschreibung |
|---|---|
| 1 | (Konstrukteur) Es wird verwendet, um einen Thread zu erstellen. |
| 2 | (Zerstörer) Es wird verwendet, um Thread zu zerstören. |
| 3 | Operator = Es ist ein Thread zum Zuweisen von Verschiebungen. |
| 4 | get_id Es wird verwendet, um die Thread-ID abzurufen. |
| 5 | verbindbar Es wird verwendet, um zu überprüfen, ob eine Verbindung möglich ist. |
| 6 | beitreten Es wird verwendet, um einen Thread zu verbinden. |
| 7 | ablösen Es wird verwendet, um Faden zu lösen. |
| 8 | Tauschen Es wird verwendet, um Threads auszutauschen. |
| 9 | native_handle Es wird verwendet, um ein natives Handle zu erhalten. |
| 10 | hardware_concurrency [statisch] Es wird verwendet, um Hardware-Parallelität zu erkennen. |
Überladungen von Nichtmitgliedern
| Sr.Nr. | Überlastung und Beschreibung von Nichtmitgliedern |
|---|---|
| 1 | tauschen (Thread) Es wird verwendet, um Threads auszutauschen. |
Beispiel
Im folgenden Beispiel für std :: thread.
#include <iostream>
#include <thread>
void foo() {
std::cout << " foo is executing concurrently...\n";
}
void bar(int x) {
std::cout << " bar is executing concurrently...\n";
}
int main() {
std::thread first (foo);
std::thread second (bar,0);
std::cout << "main, foo and bar now execute concurrently...\n";
first.join();
second.join();
std::cout << "foo and bar completed.\n";
return 0;
}
Die Ausgabe sollte so sein -
main, foo and bar now execute concurrently...
bar is executing concurrently...
foo is executing concurrently...
foo and bar completed.