
Thread::join() 함수는 스레드가 종료될 때까지 현재 스레드가 기다리는 역할을 합니다. 즉, join() 함수를 호출한 스레드는 join() 함수를 호출한 스레드가 종료될 때까지 실행을 멈추고 기다립니다.
1. join() 함수를 호출한 스레드가 종료되면, 다른 스레드가 join() 함수를 호출한 스레드의 결과를 접근할 수 있습니다. join() 함수를 호출한 스레드가 종료되면, 스레드의 상태가 TERMINATED로 변경되며, 스레드의 결과는 스레드의 반환값을 통해서 접근할 수 있습니다.
2. join() 함수를 호출한 스레드가 종료되지 않아도, 다른 스레드가 join() 함수를 호출한 스레드의 결과를 접근할 수 있습니다. join() 함수를 호출한 스레드가 종료되지 않으면, 스레드의 상태가 RUNNABLE로 유지되며, 스레드의 결과는 스레드의 반환값을 통해서 접근할 수 있습니다.
#hostingforum.kr
cpp
#include
#include
void threadFunction() {
std::cout << "스레드가 시작되었습니다." << std::endl;
// 스레드의 작업을 수행합니다.
std::cout << "스레드 작업이 완료되었습니다." << std::endl;
}
int main() {
std::thread thread(threadFunction);
// 스레드가 종료될 때까지 기다립니다.
thread.join();
return 0;
}
위의 코드 예시에서, main() 함수는 thread.join() 함수를 호출하여 스레드가 종료될 때까지 기다립니다. 스레드가 종료되면, 스레드의 결과는 스레드의 반환값을 통해서 접근할 수 있습니다.
2025-04-12 23:00