C ++ 라이브러리-<스레드>
소개
스레드는 동일한 주소 간격을 공유하면서 멀티 스레딩 환경에서 다른 이러한 시퀀스와 동시에 실행할 수있는 일련의 명령입니다.
회원 유형
Sr. 아니. | 회원 유형 및 설명 |
---|---|
1 | 신분증 스레드 ID입니다. |
2 | 기본 핸들 유형 네이티브 핸들 유형입니다. |
회원 기능
Sr. 아니. | 회원 기능 및 설명 |
---|---|
1 | (건설자) 스레드를 구성하는 데 사용됩니다. |
2 | (폐물 소각로) 소멸자 스레드에 사용됩니다. |
삼 | operator = 이동 할당 스레드입니다. |
4 | get_id 스레드 ID를 얻는 데 사용됩니다. |
5 | 결합 가능 가입 가능 여부를 확인하는 데 사용됩니다. |
6 | 어울리다 스레드를 결합하는 데 사용됩니다. |
7 | 떼다 스레드를 분리하는 데 사용됩니다. |
8 | 교환 스레드를 교환하는 데 사용됩니다. |
9 | native_handle 네이티브 핸들을 얻는 데 사용됩니다. |
10 | hardware_concurrency [정적] 하드웨어 동시성을 감지하는 데 사용됩니다. |
비 구성원 과부하
Sr. 아니. | 비회원 과부하 및 설명 |
---|---|
1 | 스왑 (스레드) 스레드를 교환하는 데 사용됩니다. |
예
아래의 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;
}
출력은 다음과 같아야합니다.
main, foo and bar now execute concurrently...
bar is executing concurrently...
foo is executing concurrently...
foo and bar completed.