Libreria C ++ - <thread>
introduzione
Il thread è una sequenza di istruzioni che possono essere eseguite contemporaneamente ad altre sequenze simili in ambienti multithreading, condividendo lo stesso spazio di indirizzi.
Tipi di membri
Sr.No. | Tipo di membro e descrizione |
---|---|
1 | id È un ID thread. |
2 | Tipo di handle nativo È un tipo di handle nativo. |
Funzioni dei membri
Sr.No. | Funzione e descrizione del membro |
---|---|
1 | (costruttore) Viene utilizzato per costruire thread. |
2 | (distruttore) Viene utilizzato per il thread distruttore. |
3 | operatore = È un thread di assegnazione delle mosse. |
4 | get_id Viene utilizzato per ottenere l'ID del thread. |
5 | unibili Viene utilizzato per verificare se unibili. |
6 | aderire Viene utilizzato per unire thread. |
7 | staccare È usato per staccare il filo. |
8 | scambiare Viene utilizzato per scambiare i thread. |
9 | native_handle Viene utilizzato per ottenere l'handle nativo. |
10 | hardware_concurrency [statico] Viene utilizzato per rilevare la concorrenza hardware. |
Sovraccarichi non membri
Sr.No. | Sovraccarico e descrizione dei non membri |
---|---|
1 | swap (thread) Viene utilizzato per scambiare i thread. |
Esempio
Nell'esempio seguente per 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;
}
L'output dovrebbe essere così -
main, foo and bar now execute concurrently...
bar is executing concurrently...
foo is executing concurrently...
foo and bar completed.