inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

JobQueue #1

flush에 대한 질문입니다

299

이권희

작성한 질문수 4

6

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
 
안녕하세요 flush 쪽에서 의문이 생겨서 이렇게 글 남겨봅니다..!
 
강의에서는 Push 안에 bool flush = false를 이용하는데
따로 flush를 더 사용안하고 위 이미지처럼 그냥 _flush 만 이용하면 안되는 이유가 따로 있을까요..?
 
강의에서는 lock때문에 접근을 못해서 단계적으로 하기 위함이라고 하셨는데 이해가 잘 안갑니다..
 

unity network C#

답변 1

7

Rookiss

멀티쓰레드 관점에서 생각해보시면 됩니다.

처음으로 들어온 쓰레드가 처리도 담당하기를 원하는데,
_flush = true를 해버리면, _flush는 힙 메모리에 올라간 변수라서
모든 쓰레드가 동일하게 사용하게 됩니다.
즉 모든 쓰레드들이 if (_flush) 조건에 걸려 Flush()를 하게 되겠죠.

반면 스택에 위치한 bool flush 는 딱 실행중인 쓰레드만 볼 수 있는 데이터라서
우리가 원하는 [한명만 실행하는] 사양을 구현할 수 있게 됩니다.

C#에서의 RAII

0

64

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

88

1

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

0

85

2

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

0

112

2

UnhandledException 으로 서버 터지는 경우

0

102

2

컨텐츠 단, 엔진 단

0

118

1

질문 있습니다

0

92

2

C# 게임서버 3D MMORPG

0

159

2

유니티6 버전

0

106

2

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

0

153

2

커서의 위치의 중요성

0

110

2

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

0

176

2

강의에 질문이 있습니다

0

92

2

멀티스레드 이해도 질문

0

107

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