• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

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

23.04.12 22:20 작성 조회수 396

0

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

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

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

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

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

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

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

답변 1

답변을 작성해보세요.

2

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