inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

Interlocked

멀티 스레드 환경에서의 캐시 효율

347

toyboy0113

작성한 질문수 23

0

멀티 스레드 환경에서 A,B 2개의 쓰레드가 있다고 가정했을때
프로세스에서 어떤 전역 Data number를 +1 해달라는 주문이 들어 왔을때 A쓰레드에서 해당 주문을 받고 동시에 B도 해당 주문을 받는다면 문제가 되기때문에 동기화를 해줘야한다고 말씀 주셨는데요
그렇게 되면 A가 주문을 받고 다시 Ram에 동기화
그다음 B가 주문을 받고 Ram에서 수정된 값을 가져와서 다시 Ram에 동기화 이런식이라면
멀티 쓰레드 환경에서는 캐시의 의미가 없는건가요?

캐시라는게 결국엔 프로세서와 Ram간의 거리가 멀기 때문에 이걸 완하해주는게 캐시로 알고 있는데

멀티 환경에서 주문이 들어올때마다 Ram에서 최신화 정보 가져오고 다시 동기화 한다면 캐시의 의미가 없어지는게 아닌가 해서 이렇게 질문 남기게 됩니다

C# unity 네트워크

답변 1

0

Rookiss

네 멀티쓰레드 환경에서 캐시가 의미 없는 정도까진 아니지만,
경합 데이터인 상황에서 lock을 걸거나 atomic(interlocked) 계열을 사용하면
캐시의 이점을 못 받습니다.

TLS 질문드립니다.

0

51

2

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

0

54

2

Unity Span

0

80

2

XML, Dll 차이점

0

109

2

Session 질문입니다

0

81

1

Write Read 커서 키워드

0

77

1

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

0

73

2

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

0

99

2

UnhandledException 으로 서버 터지는 경우

0

88

2

컨텐츠 단, 엔진 단

0

106

1

질문 있습니다

0

77

2

C# 게임서버 3D MMORPG

0

150

2

유니티6 버전

0

99

2

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

0

134

2

커서의 위치의 중요성

0

104

2

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

0

170

2

강의에 질문이 있습니다

0

86

2

멀티스레드 이해도 질문

0

96

1

500 vs 500

0

130

3

OnAcceptHandler 액션 함수

0

64

1

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

0

193

2

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

0

83

2

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

0

107

1

스핀락 질문.

0

110

2