만약 하나의 공유 자원에 여러 개의 쓰레드가 접근을 했을 경우그 자원의 값이 뒤죽 박죽이 될 수 있으니 한 쓰레드가 그 자원을 독점 할 수 있도록 도와 준다. Lock 구현 방법으로는 3가지가 있다. 1.Spin lock - 이 방법은 해당 자원의 임계영역이 풀릴 떄 까지 무작정 기다리는 것을 말한다. - 무식한 방법이지만 임계영역이 금방 풀릴 것이 기대가 있다면 사용하기 좋다. 하지만 임계영역이 풀리지 않는 다면 매우 비효율적이다. - 하지만 cpu 점유가 높아 지고 다른 쓰레드를 방해할 수 있다.아래는 Spin lock의 예시이다.#include #include #include std::atomic_flag lock = ATOMIC_FLAG_INIT; // std::atomic_..