• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    해결됨

Broadcast() 함수는 Push()로 캡슐화하지 않는 이유가 궁금합니다

23.07.25 03:54 작성 조회수 331

0

public Player FindPlayer()는 리턴값 Player가 당장 필요해서 호출하는 함수니까 Push()를 안 하는 건 이해했습니다.

근데 public void Broadcast()도 FindPlayer()와 같은 케이스라고 하셨습니다. 이게 무슨 뜻인지 이해가 안 갑니다.

리턴값이 있는 것도 아니고 그냥 room.Push(room.Broadcast, packet) 처럼 Push로 고쳐도 상관없을 것 같은데 아닌가요?

혹시 Broadcast()는 엄청 많이 호출되는 특수한 함수니까 성능상 이유 때문에 Push()를 생략하고 호출한다거나 그런 건가요?

왜 FindPlayer()와 Broadcast()가 같은 케이스인지 궁금합니다.

 

답변 1

답변을 작성해보세요.

0

물론 그렇게 해도 되긴 하지만,
함수들 중에서는 Job으로 예약하지 않고 즉발성으로 바로 실행하길 원하는 경우도 있는데,
Broadcast는 패킷 처리하는 것에 불과하니
굳이 새로운 Job으로 예약하기 보다는 바로 실행하고 싶다는 의미였습니다.