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.