개발/C++

[C++] Thread

hojak99 2017. 1. 2. 11:00

Thread


이 클래스는 개별 실행 쓰레드를 나타내는 클래스이다.


실행 쓰레드는 동일한 주소 공간을 공유하면서 멀티 스레딩 환경에서 다른 시퀀스와 동시에 실행할 수있는 일련의 명령어이다.


초기화 된 쓰레드 객체는 실행 중인 실행 쓰레드를 나타낸다. 이러한 쓰레드 객체는 결합할 수 있고 고유한 thread id 를 가지고 있다.


디폴트 생성자 (초기화 되지 않은) 쓰레드 객체는 결합 가능하지 않다. 쓰레드 id는 모든 쓰레드에서 공통으로 결합할 수 없다.




#include <iostream>
#include <thread>
#include <string>

void printCount(int count)
{
	std::cout <<count << std::endl;
}

int main()
{
	std::thread tr(&printCount, 1);
	std::thread tr1(&printCount, 2);
	/*
		C++에서 쓰레드를 사용할 때 함수에 인자 값을 주려면 위와 같이
		주어야 하는 것 같다. 즉, 1과 2는 함수의 count 변수의 인자 값이다.
	*/

	tr.join();     //스레드 종료
 	tr1.join();    //스레드 종료

	return 0;
}


반응형