[C++11 Overview] mutex
Book Review 2013. 3. 11. 14:34future 에 이어서 소개하고 있는 부분입니다.
아무래도 멀티 스레드니 병렬 처리니 하는 부분들이 나오면 필수적으로 따라 붙는 부분이
데이터의 접근에 대한 안전 장치겠지요.
다음은 전역 선언된 int 변수 하나를 두개의 스레드에서 증가/감소 하는 코드입니다.
이전에도 프로그래머들이 종종 만들어 쓰는 auto lock 과 유사한 모습입니다.
c++11 의 mutex 는 mutex , timed_mutex , recursive_mutex , recursive_timed_mutex 4 종이 제공되고 있고,
이름상에서 나타나듯이 쓰임새가 차이가 납니다.
재귀적인 lock 작업에 non-recursive mutex 를 사용하면 미정의 동작을 하게 된다고 하네요.
ps. 위 코드에서와 같은 간단한 변수의 증감은 mutex 보다는 atomic 을 사용하는 것이 더 효율적입니다.
'Book Review' 카테고리의 다른 글
[TCP/IP 소켓프로그래밍 C#] ItemQuoteEncoderText class (0) | 2013.03.21 |
---|---|
[C++11 Overview] RAII Classes for Mutexes (0) | 2013.03.11 |
[C++11 Overview] void future (0) | 2013.03.11 |
[C++11 Overview] Uniform Initialization Syntax (0) | 2013.02.22 |
[C++11 Overview] Raw String Literals (0) | 2013.02.22 |