• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    해결됨

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

24.03.06 21:34 작성 조회수 78

0

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

아래 인프런 질문을 보면

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

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

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

 

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

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

 

답변 미리 감사합니다.

 

답변 1

답변을 작성해보세요.

1

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

mhyim님의 프로필

mhyim

질문자

2024.03.07

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