inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

멀티쓰레드 개론

싱글 코어와 멀티 코어에 대해 질문드립니다.

1549

탐탐

작성한 질문수 5

1

안녕하세요. 싱글 코어와 멀티 코어에 대해 궁금한 점에 대해 질문드립니다.

1.만약 제가 작성한 프로그램에서 멀티 쓰레드를 사용하더라도 사용하는 컴퓨터의 CPU가 싱글 코어 일 경우쓰레드를 사용할 때 컨텍스트 스위칭이 일어나기 떄문에 멀티 쓰레드를 사용하는 건 의미가 없는 게 맞을까요?

2.반대로 멀티 코어인 컴퓨터에 단일 스레드 환경의 프로그램을 만들었을 경우 여러 코어를 사용하는 게 아닌 하나의 코어만 사용하게 되어 CPU의 성능을 제대로 활용 못하는 게 맞을까요?

실제 운영체제 환경에서는 제가 만든 프로그램 외 에도 백그라운드로 실행되는 프로그램들이 있어서 코어 하나만 사용하진 않겠지만 개념적으로 봤을 때 멀티 코어일 때 단일 쓰레드 환경의 프로그램이면 CPU 성능을 제대로 활용 못 하는 게 맞는 건지 궁금합니다.

c# C# 네트워크 network unity

답변 1

1

Rookiss

  1. 보통은 그렇겠지만, 경우에 따라 오래 걸리는 일들 (ex. 리소스 로딩이라거나) 때문에 먹통되는 것을 방지하기 위해 멀티쓰레드를 잠시 사용하는 것은 장점이 있을 수 있습니다.

  2. 네 그렇습니다. 실제로 콘솔 등 정말 성능에 민감한 경우 정말 모든 코어들이 바쁘게 움직이게끔 쓰레드 개수를 1:1로 최대한 맞춰주기 위해 노력합니다.

0

탐탐

답변 감사합니다. 새해 복 많이 받으세요 :)

TLS 질문드립니다.

0

41

2

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

0

46

2

Unity Span

0

75

2

XML, Dll 차이점

0

103

2

Session 질문입니다

0

78

1

Write Read 커서 키워드

0

73

1

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

0

69

2

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

0

97

2

UnhandledException 으로 서버 터지는 경우

0

84

2

컨텐츠 단, 엔진 단

0

103

1

질문 있습니다

0

76

2

C# 게임서버 3D MMORPG

0

143

2

유니티6 버전

0

96

2

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

0

132

2

커서의 위치의 중요성

0

102

2

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

0

169

2

강의에 질문이 있습니다

0

85

2

멀티스레드 이해도 질문

0

94

1

500 vs 500

0

127

3

OnAcceptHandler 액션 함수

0

60

1

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

0

187

2

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

0

81

2

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

0

104

1

스핀락 질문.

0

109

2