boost::thread_group

부스트의 쓰레드 그룹을 사용하기 위한 코드

출처 : http://nerv2000.tistory.com/76

#include "boost/thread.hpp"

class threadFunc
{
    int m_a;
public:
    threadFunc( int a )
    {
        m_a = a;
    }

    void operator()()
    {
        printf("[%d]일단 들어왔네!!! [%d]n", boost::this_thread::get_id(), m_a );

        Sleep(5000);

        printf("[%d] 끝났네 [%d]n", boost::this_thread::get_id(), m_a );
    }
};

int main()
{
    boost::thread_group tg;

    tg.create_thread( threadFunc(1) );                        // 1번 스래드 생성
    tg.add_thread(new boost::thread( threadFunc(2) ) );        // 2번 스래드 생성
    tg.add_thread(new boost::thread( threadFunc(3) ) );        // 3번 스래드 생성

    //모든 스래드가 종료 될때까지 대기
    tg.join_all();

    return 0;
}

Leave a Reply

Your email address will not be published. Required fields are marked *