C++에서 쉽게 쓰레딩(threading) 하는 법

저는 C처럼 thread library같은 방법 말고 C++ 스타일(객체 지향) thread 객체를 찾고있습니다.

C++에서 제일 쉽게 쓰레딩 하는 방법을 가르쳐주세요! 쓰레드 2개를 돌리는 프로그램 예제 올려주실 분 안 계신가요?

1답변

  • 좋아요

    0

    싫어요
    채택취소하기

    코드에서 주석으로 설명해드리겠습니다.

    #include <string>
    #include <iostream>
    #include <thread> //쓰레드를 위한 헤더파일
    
    using namespace std;
    
    // 쓰레드가 실행해야 할 함수를 설정해주세요
    void task1(string msg)
    {
        cout << "task1 says: " << msg;
    }
    
    int main()
    {
        // 새 쓰레드를 만들어 실행합니다. 현재 쓰레드가 block되지 않습니다.
        thread t1(task1, "Hello");
    
        // main이가 새로 만든 쓰레드가 일을 마칠 때까지 기다리게 만듭니다.
        t1.join();
    }
    

    GCC에 컴파일할 때는 -std=c++0x -pthread를 꼭 해주고 더 자세한 건 std::stread를 참고하세요

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.