쓰레드 생성, 소멸관련 알아야 할 것
- std::thread로 다양한 하드웨어, 운영체제 환경에서 동일한 코드로 동작하는 Application을 만들 수 있다.
- std::thread t 처럼 선언하고 이후에 t = std::thread(func)로 쓰레드를 생성할 수 있다.
- t.get_id() thread id를 리턴한다. 만약 선언만 되어있거나 detach 상태면 0을 리턴한다.
- t.hardware_concurrency() 함수로 사용가능한 CPU코어개수를 알 수 있다. 항상 올바르게 동작함을 보장하지 않는다.
- t.joinable()로 detach상태인지 생성된 상태인지 확인할 수 있다.
- t.join()은 쓰레드가 종료될 때까지 기다린다.
- t.detach()는 std::thread 객체에서 실제 쓰레드를 분리한다. background thread로 동작한다. 이후부터 제어 불가능하기 때문에 잘 쓰지 않는다.
참조 : [C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버 - 인프런 | 강의 (inflearn.com)
댓글 영역