인프런 커뮤니티 질문&답변
mutex 객체의 lock은 어떤 메타인가요?
작성
·
355
0
mutex m;
m.lock();
m.unlock();
mutex 객체의 lock은 존버, sleep, 갑질 메타 중에 어떤 메타를 사용하나요?
c#에서 lock(_lock)처럼 존버하다가 너무 오래걸리면 sleep메타로 전환하나요?
퀴즈
멀티쓰레딩 환경에서 여러 쓰레드가 동시에 공유 데이터에 접근하여 값을 수정할 때 발생할 수 있는 예상치 못한 결과의 주요 원인은 무엇일까요?
데드락
쓰레드 지역 저장소(TLS) 충돌
경쟁 상태(Race Condition)
CPU 파이프라인 실패
답변 1
2
Rookiss
지식공유자
Windows 진영에선 mutex가 CriticalSection을 사용하는데
CS도 예전엔 아니었지만 어느 순간 스핀락을 섞어 쓰도록 변했다고 합니다.
따라서 OS나 컴파일러 버전마다 다르다고 생각하시면 됩니다.





