전체 글
![[Thread] std::thread Argument](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbCg5vh%2FbtrFjzaHFMH%2Fro2nztO2gOEQeOsUKPoIS0%2Fimg.png)
[Thread] std::thread Argument
새로운 thread에 argument 전달 방법 바로 예제 코드를 보자. Example Code #include #include #include void fn(int a, std::string s) { std::cout
![[Thread] std::thread](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIVLPL%2FbtrFjyiqs6a%2FN60KAMHQDb0IapexUZz6w1%2Fimg.png)
[Thread] std::thread
std::thread thread에 대한 기본적인 내용부터 알아본다. Constructor Constructor를 보면 Thread를 동작시키기 위해서는 3번째 정의처럼 함수를 같이 넘겨줘야한다. 또한, Move Constructor는 정의가 되어있는 반면 Copy Constructor는 삭제되어있는걸 볼 수 있다. Example Code #include #include #include #include void fn() { std::cout
![[Thread] Introduction](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FocGR4%2FbtrEwx6OflR%2FWquLd12u1t4dIZH8DAtGmk%2Fimg.png)
[Thread] Introduction
Thread 하나의 프로세스에서 여러 동작을 동시에 진행시키는 것이 가능하다. Code, Data, Heap영역은 하나의 프로세스에서 공유되고, Stack은 각 Thread 별로 가지고 있다. 이러한 Multi Thread Process 프로그램을 우리가 알고 있는 메모리 그림으로 알고 있는 것도 유용하다. 이러한 메모리 공간에 두번째 Thread(t1)이 생긴다면 그 Thread는 중간에 새로운 Stack 시작점을 가지고 각각의 Thread의 진행 상황에 따라서 독립적으로 Stack을 쌓아가고 해제시킨다. 하지만 Heap이나 Static 공간의 데이터는 공유하기 때문이 각각의 Thread에서 접근이 가능하다. C++에서는 이러한 개념의 Thread를 std::thread를 통해서 생성할 수 있다. Mo..