강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

문희찬님의 프로필 이미지
문희찬

작성한 질문수

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

SpinLock

mutex 객체의 lock은 어떤 메타인가요?

작성

·

355

0

mutex m;
m.lock();
m.unlock();

mutex 객체의 lock은 존버, sleep, 갑질 메타 중에 어떤 메타를 사용하나요?

c#에서 lock(_lock)처럼 존버하다가 너무 오래걸리면 sleep메타로 전환하나요?

퀴즈

멀티쓰레딩 환경에서 여러 쓰레드가 동시에 공유 데이터에 접근하여 값을 수정할 때 발생할 수 있는 예상치 못한 결과의 주요 원인은 무엇일까요?

데드락

쓰레드 지역 저장소(TLS) 충돌

경쟁 상태(Race Condition)

CPU 파이프라인 실패

답변 1

2

Rookiss님의 프로필 이미지
Rookiss
지식공유자

Windows 진영에선 mutex가 CriticalSection을 사용하는데
CS도 예전엔 아니었지만 어느 순간 스핀락을 섞어 쓰도록 변했다고 합니다.
따라서 OS나 컴파일러 버전마다 다르다고 생각하시면 됩니다.

문희찬님의 프로필 이미지
문희찬

작성한 질문수

질문하기