inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

연습 문제

싱글코어일때 멀티 스레드 작업시 문제

166

dpe2233

작성한 질문수 4

0

노트북 환경이 싱글코어라 궁금해서 멀티스레드 환경으로 코드를 돌리니까 값이 매번 다르게 나오는데

싱글코어 환경에서는 멀티스레드 테스트가 불가능 한건가요?

네트워크 MMORPG windows-server

답변 2

0

Rookiss

아뇨 싱글코어라고 해도,
Context Switching은 그대로 적용되기에
멀티쓰레드 테스트가 가능합니다!

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. dpe2233님.

싱글코어 환경에서 멀티스레드 프로그램을 실행할 때 발생할 수 있는 특성과 문제점에 대해 궁금하신 것 같습니다. 싱글코어 CPU에서도 멀티스레드는 동작하지만, 동시에 여러 작업을 병렬로 처리하는 것이 아니라 컨텍스트 스위칭을 통해 각각의 스레드를 번갈아 가며 실행합니다. 이 때문에 데이터 불일치나 경합 조건(race condition) 같은 문제가 발생할 수 있습니다.

관련 답변을 참고할 수 있는 기존 질문들:

  1. 멀티쓰레드와 싱글코어에서의 동작 - 멀티 스레드 환경이 어떻게 작동하는지, 특히 싱글코어에서의 스레드 동작에 대한 설명이 포함되어 있습니다.

  2. 멀티쓰레드 관련 질문입니다 - 멀티스레드 환경에서 사용되는 동기화 방법인 Interlocked와 race condition 문제를 어떻게 해결할 수 있는지에 대한 설명이 포홤되어 있습니다.

싱글코어 환경에서도 멀티스레드 프로그래밍을 실습할 수는 있지만, 발생할 수 있는 다양한 동기화 문제를 해결하기 위해서는 철저한 테스트와 동기화 메커니즘의 적용이 필요합니다. 동시에 처리되는 것처럼 보이지만 실제로는 순차적으로 처리되기 때문에 데이터 일관성 문제가 빈번히 발생할 수 있습니다.

제가 제공한 링크들이 문제가 해결에 도움이 되기를 바랍니다. 추가적으로 궁금한 점이 있으시면 질문을 이어서 해주시길 바랍니다. 지식공유자께서 직접 답변해 주실 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Memory Pool에서 오버플로우 질문입니다.

0

61

2

포토폴리오 및 진로 관련하여 고민입니다.

0

109

1

포토폴리오 관련 고민입니다.

0

59

1

실무에서도 alloc, 스마트포인터 등을 구현해서 쓰는지 궁금합니다.

0

80

2

성능 테스트 결과

0

101

2

게임 서버 Stateful, Stateless 진로 고민

0

118

1

WaitOnAddress와 Sleep의 차이 질문

0

81

1

궁금한거 있습니다.

0

79

2

JobTimer 구동 스레드

0

105

2

TryPop() 동작 관련 질문

0

79

1

로드맵 C#서버 C++서버 방향성 질문

0

145

2

스레드 id를 출력할떄 메인스레드 id도 출력되나요?

0

71

1

생명주기를 위한 의도적 복사

0

83

2

락프리의 실무에서 사용 질문

0

138

2

32bit threadID와 16비트 상위 WriteFlag에 대해

0

99

2

mutex와 sleep 차이점

0

115

1

실무에서는 어떠한 코드 스타일을 사용하는지 궁금합니다

0

150

2

Stomp Allocator의 Release함수에 대한 질문입니다.

0

94

1

공부법 관련해서

0

181

2

MakeShared 함수 관련

0

112

1

지금까지 서버코어에서 만든 내용에 대해 궁금한 점이 있어서 질문 드립니다.

0

142

2

운영체제관련 질문입니다

0

129

1

send하려는 데이터 크기가 크면 memcpy에서 문제가 발생할 것 같습니다.

0

115

2

메모리 풀 질문있습니다.

0

121

1