for Robot Artificial Inteligence

c++에서 Atomic은 무엇인가

|

http://egloos.zum.com/sweeper/v/3059861

std::atomic 은 원자성을 보존해주기 위해서 사용된다. 다시 말하자면 mutex 없이도 두 개의 스레드가 동시에 접근해도 data race 문제가 발생하지 않는다. volatile 은 컴파일러가 최적화하며 특정 라인을 수행하지 않는 경우가 없도록 해준다

https://pppgod.tistory.com/61

https://jjeongil.tistory.com/155

즉, single variable이 한 쓰레드 할당이 되면서 background으로 계속 도는 것이다. 이는 보통 0,1 or true or false 같인 variable을 사용한다

예) main thread module은 계속 돌면서, shut_down 커멘트가 눌러졌지 따로 글로벌적으로 Thread가 돌고, shut_down이 눌러지면 멈추도록 trigger을 줄 수 있다.

Comments