C ++ Kitaplığı - <thread>

Giriş

İş parçacığı, aynı adres aralığını paylaşırken çok iş parçacıklı ortamlarda bu tür diğer dizilerle eşzamanlı olarak yürütülebilen bir talimatlar dizisidir.

Üye türleri

Sr.No. Üye türü ve açıklaması
1 İD

Bu bir iş parçacığı kimliğidir.

2 Yerel tutamaç türü

Yerel bir tutamaç türüdür.

Üye fonksiyonları

Sr.No. Üye işlevi ve açıklaması
1 (kurucu)

İplik oluşturmak için kullanılır.

2 (yıkıcı)

İpliği yok etmek için kullanılır.

3 operatör =

Bu bir hareket atama iş parçacığıdır.

4 get_id

Konu kimliğini almak için kullanılır.

5 katılabilir

Birleştirilebilir olup olmadığını kontrol etmek için kullanılır.

6 katılmak

İpliği birleştirmek için kullanılır.

7 ayırmak

İpliği çıkarmak için kullanılır.

8 takas

Konuları değiştirmek için kullanılır.

9 native_handle

Yerel tutamaç elde etmek için kullanılır.

10 hardware_concurrency [statik]

Donanım eşzamanlılığını tespit etmek için kullanılır.

Üye olmayan aşırı yüklemeler

Sr.No. Üye olmayan aşırı yükleme ve açıklama
1 takas (iplik)

Konuları değiştirmek için kullanılır.

Misal

Aşağıdaki örnekte 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;
}

Çıktı şöyle olmalı -

main, foo and bar now execute concurrently...
 bar is executing concurrently...
 foo is executing concurrently...
foo and bar completed.