inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

Context Switching

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

해결된 질문

242

공부해보자

작성한 질문수 34

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초)

읽어주셔서 감사합니다!

C# unity network

답변 1

1

Rookiss

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

C#에서의 RAII

0

63

3

TLS 질문드립니다.

0

79

2

SpinLock과 컨텍스트스위칭에 대해 질문 남겨요.

0

74

2

Unity Span

0

97

2

XML, Dll 차이점

0

134

2

Session 질문입니다

0

95

1

Write Read 커서 키워드

0

87

1

더미 클라이언트 수에 따른 OnDisconnect 발생

0

85

2

네트워크 Send 전담 스레드 배치

0

111

2

UnhandledException 으로 서버 터지는 경우

0

102

2

컨텐츠 단, 엔진 단

0

118

1

질문 있습니다

0

92

2

C# 게임서버 3D MMORPG

0

159

2

유니티6 버전

0

105

2

receive하는 부분과 send하는 부분의 차이

0

152

2

커서의 위치의 중요성

0

110

2

C++ 전혀 모르는데 C# 서버

0

176

2

강의에 질문이 있습니다

0

92

2

멀티스레드 이해도 질문

0

106

1

500 vs 500

0

147

3

OnAcceptHandler 액션 함수

0

70

1

이 정도 서버의 객관적인 수준이 궁금합니다.

0

204

2

36. Serialization #3 에서 string (name) 코드 수정 질문

0

85

2

외부 컴퓨터와의 통신 방법이 궁금합니다

0

112

1