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

snu님의 프로필 이미지

작성한 질문수

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

CPU 파이프라인

싱글스레드가 안전한 이유?

23.04.12 22:20 작성

·

481

0

싱글 스레드가 멀티스레드 이슈로부터 안전한게

다른 스레드의 개입이 없어서라고 알고있습니다.

멀티코어 다중 스레드 PC에서 싱글스레드 프로그램을 동작시킨다 가정합니다.

싱글스레드 환경에서 메인스레드 한개만 동작할것이고 스레드 아이디가 123이라 치고

싱글 스레드 환경에서 변수 a가 있다치고 무한루프로 증가 시킨다고 칠때 컨텍스트 스위칭이 일어나도 a라는 변수는 무조건 스레드 아이디 123이고 같은 코어에 있는 스레드가 동작시키는 건가요??

컨텍스트 스위칭 과정에서 운영체제가 스레드를 맘대로 할당해 주는 것으로 알고 있는데 다른 코어에 잇는 스레드를 할당해 줄수도 있지 않나해서요.

그럼 다른 코어에 있는 캐시 등에 접근 가능하여 가시성, 코드 재배치 문제가 잇지 않을까합니다

답변 1

2

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

2023. 04. 14. 20:41

꼭 같은 코어에 있는 쓰레드가 동작시키는건 아니구요.
다른 애가 해도 '동시에' 여럿이 건드리지 않는다는게 핵심입니다.

snu님의 프로필 이미지

작성한 질문수

질문하기