std::atomic_변수가 뭐죠?

글쓴이: 익명 사용자 / 작성시간: 화, 2017/06/27 - 8:37오전
단지 변수에 lock이 걸리는거라고만 알고있습니다.
std::atomic_변수에 대해서 설명해주는 곳을 찾기가 힘드네요 ㅠㅠ
변수에 대해서 락을 거는것이 다라면
만약 멀티스레드 환경에서
result = a + b + c + (atomic_variable ++)
라는 식이 있다면 저식은
result = a + b + c + atomic_variable (물론 덧셈도 하나하나씩으로 나뉘겠지만 일단은...)
atomic_variable = atomic_variable + 1
정도가 될텐데
std::atomic을 사용하면 다음스레드에서 + 1 된 값으로 계산한다는 보장을 할 수 있을까요??
아니면 read 와 write 가 겹치는것(race condition)만 막는다는 의미일까요?
Forums:
댓글 달기