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.