강의

멘토링

로드맵

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

Sungwon Jung님의 프로필 이미지
Sungwon Jung

작성한 질문수

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

Sleep

Sleep(0) 과 Yield에 관한 질문입니다.

작성

·

623

0

혼자 생각하기에는 확신이 서질 않아서 질문 드립니다.

Sleep(0)을 해서 양보하게되면 재스케쥴링이 되지 않게 해준다는 말은 해당 쓰레드의 상태가 blocked 상태가 되는것이고,

Yield를 해서 양보하면 스케쥴링은 되게 해준다는 말은 해당 쓰레드의 상태는 Ready상태로 남는 다는 말일까요?

운영체제 지식이 부족한 것 같은데, 혹시 추천해 주실만한 책이 있을까요?

좋은 강의 감사합니다. 

퀴즈

66%나 틀려요. 한번 도전해보세요!

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

데드락

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

경쟁 상태(Race Condition)

CPU 파이프라인 실패

답변 2

0

Sungwon Jung님의 프로필 이미지
Sungwon Jung
질문자

감사합니다

0

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

네.
기본적으로 stackoverflow 등에서 알려진 바에 의하면
sleep은 특정 시간 일지 정지 후 실행, yield는 실행 대기 (waiting) 후 실행이지만
사실 구현마다 조금씩 달라질 수 있기 때문에, 아주 크게 중요한 부분은 아닙니다.

책은 사람마다 호불호가 갈려서 서점에 가서 본인 취향에 맞는 책을 구매하셔야 합니다.
저는 이론보다는 실습하는걸 좋아해서
직접 운영체제 만드는 책들이 도움이 많이 되었습니다.

[64비트 멀티코어 OS 원리와 구조]

Sungwon Jung님의 프로필 이미지
Sungwon Jung

작성한 질문수

질문하기