• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

FindPlayer에 관한 질문입니다.

21.06.08 19:15 작성 조회수 114

0

제가 잘 이해하고 있는것이 맞는지 확신이 안서서 질문드립니다.

우선은 JobSerializer에서 Push를 할때 하나의 쓰레드가 접근하여 멤버변수(Flush)를 바꾸고

자신이 들어가서 Flush를 통해 Que안에 있는 잡들을 실행하는것이 JobSerializer이 하는 일이라고 이해했습니다

그렇기 때문에 JobSerializer를 상속받아서 사용하는 클래스들이 Player들을 수정하더라도 큐에 담겨져 있는 순서대로 실행되기때문에 FindPlayer를 호출해도 안전하다고 생각 할 수 있는 것이고,

관련이 없는 ( JobSerializer 상속 X ) 클래스들은 Player를 읽는것이 아니라 수정을 하게 된다면 JobQue를 비워줄때, 데이터가 변하기 때문에 사용을 하면 안된다고 생각하면 되는걸까요?

답변 1

답변을 작성해보세요.

0

거의 맞기는 한데,
JobSerializer를 상속 받았다고 무조건 안전하다는 의미는 아니고
동일한 JobSerializer에서 관리하고/실행되는 로직만이 안전합니다.
만약에 JobSerializer가 여럿 있다고 가정하면,
현재 Job이 실행되는 곳이 아닌, 다른 JobSerializer에 접근해서
멋대로 FindPlayer를 호출하는 것은 위험할 수 있겠죠.

감사합니다