• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    해결됨

멀티테스킹과 멀티쓰레드 관계에 관하여 질문있습니다

21.11.24 00:24 작성 조회수 147

0

멀티테스킹은 메모장, 그림판, 게임서버 프로그램을 실행할 때

cpu가 단일 코어라는 가정하에 

시분할을 통해 메모장, 그림판 ,게임서버를 번갈아가며 실행시킨다고 이해하였습니다.

(메모장 1초 / 그림판 1초 / 게임서버 1초)

 

질문1)

여기서 게임서버가 멀티쓰레드(2개) 환경이라고 가정한다면

"멀티테스킹"의 시분할을 통해 부여받은 시간(1초)을 또 시분할 하여 "멀티쓰레드"끼리 번갈아가며 실행시키는 것인가요?

(쓰레드가 2개라면 0.5초 / 0.5초)

(즉, 메모장 1초/그림판1초/게임서버쓰레드a 0.5초/게임서버쓰레드b 0.5초)

 

질문2)

아니면 "멀티테스킹"이 프로세스기준이 아닌  쓰레드마다 시분할적으로 동작하나요?

(메모장1초/그림판1초/게임서버쓰레드a1초/게임서버쓰레드b1초)

읽어주셔서 감사합니다!

답변 1

답변을 작성해보세요.

1

그건 전적으로 운영체제가 정하는 것이라 OS 환경에 따라 다릅니다.
게다가 대부분의 운영체제에서 프로세스 우선순위도 지정할 수도 있기 때문에
시간 배분이 더욱 복잡해져서, 딱히 어떻게 시간이 분배된다고 확답드릴 수는 없습니다.
일반적으로 말하자면, 2개의 쓰레드가 실행중이라면 2개의 프로그램을 띄운 것처럼
양쪽이 주기적으로 실행되어야 합니다.