반응형
std::thread::detach()
쓰레드 개체에서 쓰레드를 떼어 냅니다.
떼어진 쓰레드는 메인 쓰레드와 무관하게 독립적으로 실행됩니다.
std::thread::joinable()
쓰레드가 실행 중인 활성 쓰레드인지 아닌지 확인합니다.
예제
#include <iostream>
#include <sstream>
#include <string>
#include <thread>
using namespace std;
void PrintMessage(const std::string& message, int count)
{
for (int i = 0; i < count; ++i){
std::cout << i+1 << " : " << message << std::endl;
}
}
int main()
{
std::thread thread(PrintMessage, "Message from a child thread.", 10);
PrintMessage("waiting the child thread...", 1);
thread.detach();
if (thread.joinable())
{
thread.join();
}
return 0;
}
쓰레드를 떼어내면, 쓰레드가 독립적으로 실행됩니다. 프로그램이 종료되면 떼어진 쓰레드는 동작이 멈추게 됩니다.
반응형
'SW > C++' 카테고리의 다른 글
C++ : 쓰레드 : sleep_for(), yield() : 개념, 예제, 사용 방법 (0) | 2020.03.19 |
---|---|
C++ : thread : 람다식 활용한 예제 : 쓰레드 리턴 값 참조 방법 (0) | 2020.03.18 |
C++ : thread : get_id() : 사용법, 구하는 법, 예제 (0) | 2020.03.16 |
C++ : STL : 목적, 문제점, 대체 방법 (0) | 2020.03.15 |
C++11 : Threading 라이브러리 ( 쓰레드 구현, 사용 방법 ) (0) | 2019.12.23 |