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.