Skip to content

Chapter 02, Managing threads

kPhantasm edited this page Dec 5, 2015 · 5 revisions

Chapter 02, Managing threads

2.1 기본 스레드 관리

  • C++프로그램은 런타임에 시작되는 main()스레드를 가지고 있으며, 다른 함수를 가진 추가 스레드를 실행시킬 수 있다.
  • main()함수가 반환될 때, 프로그램이 종료되듯이 스레드도 종료된다.

2.1.1 스레드의 시작

  • 스레드는 스레드에서 수행할 작업을 지정하는 std::thread 객체를 구축함으로써 시작된다.
void do_some_work();
std::thread my_thread(do_some_work);
class background_task
{
public:
    void operator()() const
    {
        do_something();
        do_something_else();
    }
};
background_task f;
std::thread my_thread(f);

2.1.2 스레드가 종료될 때까지 대기

2.1.3 예외적인 상황에서의 대기

2.1.4 백그라운드에서 스레드 실행

2.2 스레드 함수에 인수 전달

2.3 스레드의 전송 소유권

2.4 런타임 스레드 수 선택

2.5 스레드 식별

2.6 결론

Clone this wiki locally