Biblioteka C ++ - <wątek>
Wprowadzenie
Wątek to sekwencja instrukcji, które mogą być wykonywane jednocześnie z innymi takimi sekwencjami w środowiskach wielowątkowych, przy jednoczesnym współużytkowaniu tej samej odległości adresowej.
Typy członków
Sr.No. | Typ i opis członka |
---|---|
1 | ID To jest identyfikator wątku. |
2 | Natywny typ uchwytu Jest to natywny typ uchwytu. |
Funkcje składowe
Sr.No. | Funkcja i opis członka |
---|---|
1 | (konstruktor) Służy do budowy wątku. |
2 | (burzyciel) Służy do niszczenia nici. |
3 | operator = Jest to wątek z przypisaniem ruchu. |
4 | get_id Służy do pobierania identyfikatora wątku. |
5 | do przyłączenia Służy do sprawdzania, czy można dołączyć. |
6 | Przystąp Służy do łączenia wątków. |
7 | odłączyć Służy do odrywania nici. |
8 | zamiana Służy do zamiany wątków. |
9 | native_handle Jest używany do uzyskania natywnego uchwytu. |
10 | hardware_concurrency [statyczna] Służy do wykrywania współbieżności sprzętu. |
Przeciążenia niebędące członkami
Sr.No. | Przeciążenie i opis niebędących członkami |
---|---|
1 | swap (wątek) Służy do zamiany wątków. |
Przykład
W poniższym przykładzie dla 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;
}
Wynik powinien wyglądać następująco -
main, foo and bar now execute concurrently...
bar is executing concurrently...
foo is executing concurrently...
foo and bar completed.