inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)

스킬 #1

멀티스레드 와 Lock 질문

해결된 질문

393

조영웅

작성한 질문수 21

0

안녕하세요. 항상 양질의 강의 감사합니다!

복습중 이해가 확실히 안되는 부분이 있어 질문드립니다.

서버에서 다양한 곳에서 Player를 이동시킬 수 있기 때문에(다른 플레이어가 스킬로 Player를 밀쳐내는 등..) Player를 이동시키는 부분은 한 곳에 몰아서 Lock을 걸고 실행시켜 준다고 설명해 주셨습니다.

그래서 위처럼 GameRoom에 Player가 움직이는 로직을 몰아서 Lock을 걸어주셨는데,

제가 궁금한 점은, 

HandleMove멤버함수에서 특정 Player를 참조(?) 하고있는 인자 player를 가지고 Lock을 걸고 작업을 하고 있을 때, 다른 클래스의 맴버함수에서도 똑같은 Player를 참조해서 Lock을 걸고 작업하려고 한다면 Lock이 걸리나요?

Lock을 건다는건 메모리상에 실제로 생성된 객체(?)를 기준으로 걸리는 건가요?

설명이 많이 미흡한 점 죄송합니다 ㅜ.

C# unity

답변 1

1

Rookiss

object _lock을 Player에다 넣어놨으면 Player 단위의 Lock이 될테지만
위에서는 Room 단위의 락을 걸었으므로 동기화 단위라 Room이 되겠습니다.

Lessons 3 & 4 don't have subtitles unfortunately

0

39

1

MessagePack

0

106

1

본인 플레이어 이동 관련 질문

0

69

1

Part7 Part9 질문이 있습니다.

0

90

1

.

0

131

1

.

-1

122

2

게임 로직 루프에서 게임 틱 누락으로 인한 높은 CPU 사용 문제

0

104

1

타일 팔레트 깔았는데도 안돼요

0

150

2

2D로 그냥 만들어도 되나요?

0

95

2

지난 강의와 이어지는게 맞을까요?

0

96

2

순환참조 문제로 인해 발생하는 문제는 없을까요?

0

169

2

유니티 클라와 C++서버연동

0

291

2

멀티플레이 테스트 환경 관련 질문입니다

0

227

3

강의 후반부에 순서 동기화를 위해 잡큐를 사용 안 한 부분 질문입니다!

0

164

2

코드 관련한 몇 가지 질문입니다!

0

169

2

3d 프로젝트 이동 동기화 관련

0

346

4

파트 7 스트레스 테스트 질문 드립니다.

1

205

2

맵 이동 방식

0

145

0

맵 이동 관련해서 질문드립니다.

0

97

1

안녕하세요 도저히 알 수 없는 오류가 나와서 질문드려요,,

0

224

2

안녕하세요. 일전에 질문 드린 포폴 준비 관련 질문의 추가 질문입니다!

0

173

1

[팁] 2024년 기준 버전 이슈?

0

470

1

SendBuffer.cs 삭제 후 대체 되는 부분의 장단점?

1

213

1

지금 강의의 유니티 클라를 IOCP 서버와 연동하는 것

0

343

2