인프런 커뮤니티 질문&답변

mhyim님의 프로필 이미지
mhyim

작성한 질문수

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

Session #2

명시적으로 함수를 호출하지 않으면 무조건 스레드 세이프할까요?

해결된 질문

작성

·

178

0

안녕하세요? 강의 재밌게 보고 있습니다.

아래 인프런 질문을 보면

Q. Receive()는 lock을 사용하지 않는 이유?

A. 명시적으로 Recv()처럼 호출하지 않기 때문에 1번에 1개의 스레드만 접근하여 스레드 세이프함

이라는 질문을 보았는데요,

 

이 답변을 조금 확대 해석해 봤는데

Q. 명시적으로 함수()를 하지 않으면 무조건 스레드세이프할까요?

 

답변 미리 감사합니다.

 

답변 1

1

Rookiss님의 프로필 이미지
Rookiss
지식공유자

그런 문제라기보다는 정말 다수의 쓰레드가 호출이 불가능한 상황입니다.
ReserveRecv -> ProcessRecv 이 반복적으로 되는데
이것을 멀티쓰레드로 실행할 수 있는 경로가 없습니다.
강의에선 낚시대에 비유하는데, 낚시대가 하나인데 이것을 낚시꾼 두명이 건드릴 수 없기 때문이죠.

mhyim님의 프로필 이미지
mhyim
질문자

시간내서 답변해주셔서 감사합니다!

mhyim님의 프로필 이미지
mhyim

작성한 질문수

질문하기