inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

유니티 연동 #4

new List 동기화 와 관련하여..

611

dyl

작성한 질문수 12

0

public List<IPacket> PopAll()
{

List<IPacket> list = new List<IPacket>();
lock(_lock)
{

...어떤 처리..

}
}

 

이 함수가 멀티 스레드로 실행 된다고 했을대 list 이 변수는 안에가 list 형태인데 linkedlist 같은것도 스레드 세이프 한건가요?

여러개의 스레드가 linkedlist 를 생성만 한다고 했을때(위의 예시처럼 원소 추가나 조작 없이) 동시에 new 연산이 내부에서 실행 된다 여러개 스레드에서 동시에 힙에 new 연산이 실행될것 같은데(예를 들어 c++ vector<> 같은..)

 

멀티스레드로 new 연산시 같은 주소에 생성될 일이 발생할 수도 있지 않을까 해서요

 

질문을 요약하자면
-지역변수에서 힙쪽의 new 를 생성하는게 있다면 그것은 스레드 세이프한가? 라는것이 질문입니다
답변 부탁드려요!

 

c# C# 네트워크 network unity

답변 1

2

Rookiss

네 new는 물론 쓰레드 세이프합니다. C++ C# Java 다 마찬가지에요

C#에서의 RAII

0

125

3

TLS 질문드립니다.

0

107

2

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

0

106

2

Unity Span

0

123

2

XML, Dll 차이점

0

166

2

Session 질문입니다

0

121

1

Write Read 커서 키워드

0

109

1

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

0

107

2

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

0

135

2

UnhandledException 으로 서버 터지는 경우

0

160

2

컨텐츠 단, 엔진 단

0

144

1

질문 있습니다

0

123

2

C# 게임서버 3D MMORPG

0

189

2

유니티6 버전

0

136

2

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

0

174

2

커서의 위치의 중요성

0

137

2

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

0

205

2

강의에 질문이 있습니다

0

118

2

멀티스레드 이해도 질문

0

125

1

500 vs 500

0

182

3

OnAcceptHandler 액션 함수

0

88

1

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

0

230

2

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

0

109

2

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

0

129

1