Thư viện C ++ - <thread>

Giới thiệu

Luồng là một chuỗi các lệnh có thể được thực hiện đồng thời với các chuỗi khác như vậy trong môi trường đa luồng, trong khi chia sẻ cùng một khoảng cách địa chỉ.

Các loại thành viên

Sr.No. Loại thành viên & mô tả
1 Tôi

Nó là một id chủ đề.

2 Loại tay cầm gốc

Nó là một kiểu xử lý gốc.

Chức năng thành viên

Sr.No. Chức năng & mô tả thành viên
1 (constructor)

Nó được sử dụng để xây dựng luồng.

2 (máy hủy)

Nó được sử dụng để hủy luồng.

3 toán tử =

Nó là một chủ đề chuyển giao.

4 get_id

Nó được sử dụng để lấy id chủ đề.

5 ghép lại

Nó được sử dụng để kiểm tra xem có thể nối được không.

6 tham gia

Nó được sử dụng để tham gia chủ đề.

7 tách ra

Nó được sử dụng để tách sợi.

số 8 hoán đổi

Nó được sử dụng để hoán đổi các chủ đề.

9 native_handle

Nó được sử dụng để có được xử lý gốc.

10 Hard_concurrency [static]

Nó được sử dụng để phát hiện đồng thời phần cứng.

Quá tải không phải thành viên

Sr.No. Quá tải & mô tả không phải thành viên
1 hoán đổi (chủ đề)

Nó được sử dụng để hoán đổi các chủ đề.

Thí dụ

Trong ví dụ dưới đây cho 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;
}

Đầu ra phải như thế này -

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