[C/C++]std::mutex
·
Language/C C++
[C/C++]std::mutex멀티 쓰레드를 이용한 프로그램을 작성할 때 공유 자원의 관리에 주의해야한다. 여러 쓰레드가 동시에 같은 데이터를 변경할 경우 의도하지 않은 결과를 초래할 수 있다. 이런 멀티 쓰레드 환경에서 발생하는 문제점을 동기화 메커니즘으로 해결할 수 있다.먼저 동기화를 사용하지 않을 경우 발생하는 문제를 살펴보자.#include //std::thread #include //printf() using namespace std; int sum = 0; void Add(int cnt) { for (int i = 0; i < cnt; i++) { sum += 1; } } void Sub(int cnt) { for (int i = 0; i < cnt; i++) { sum -= 1; } } in..