개발 (develop)

C++ 20 간단하게 스레드 생성 및 활용방법

삽질그만 2022. 6. 3. 09:13

C++ Thread

리눅스의 pthread_create와 Windows의 CreateThread를 대신하여 사용할 수 있는 쓰레드 객체가 C++11 표준에 추가되었다. (C++) thread 객체는 각 운영체제가 지원하는 네이티브 함수(pthread_create, CreateThread)를 사용하여 바탕 쓰레드를 운영하며 높은 추상화 수준으로 C++ 표준 코드로 작성시 운영체제 이식성이 좋다는 장점이 있다.

 

std::thread

en.cppreference.com/w/cpp/thread/thread

C++ 20에 정의되어 있는 thread 클래스의 일부분이다.

// C++ 20 정의
class thread { // class for observing and managing threads
public:
    class id;

    using native_handle_type = void*;

    thread() noexcept : _Thr{} {}
	//...
private:
    _Thrd_t _Thr;
}
  • id : 쓰레드 id를 지칭한다.
  • native_handle_type: 운영체제마다 다르게 구현하는 쓰레드를 사용하는데 이 바탕 쓰레드 핸들의 타입을 지칭한다.
  • _Thr: 실제 바탕 쓰레드의 핸들이다.

 

[스레드 생성 방법 및 샘플코드]

스레드 생성에 대한 자세한 설명과 샘플코드는 아래링크에서 확인 할수 있습니다.

https://cafe.naver.com/devms/49

 

C++ 20 간단하게 스레드 생성 및 활용방법

대한민국 모임의 시작, 네이버 카페

cafe.naver.com