Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info

ReceiveActor은 Actor의 기본 메시지 처리기가 정의된 기본 클래스이며

대부분의 기본 메시지처리는 ReceiveActor에서 가능합니다.


액터모델의 특징 요약

  • 동시및 분산 시스템작성을 위해 높은수준의 추상화제공
  • 개발자가 명시적 잠금처리및 스레드 관리 안해도됨
  • 이로인해 병렬 시스템 작성에 용이


ActorSystem 주요 메서드

  • Create : ActorSystem을 생성( 어플케이션당 하나 )
  • ActorOf : 자신의 레벨(탑)하위에 액터를 추가
  • ActorSelection : 접근경로 기반으로 액터를 선택함


Actor 메시지 전송 주요 메서드

  • Tell : 알리기만 하여, 결과값 신경안씀
  • Ask : 질의를 하며 요청에대한 결과값을 지켜봄(비동기), Result 조합시 기다림(동기처리)
  • Sender : Actor내에서 자신에게 메시지를 보낸, 발신자 ( 응답용도 )


...

IF문이나 스위치문없이 생성자에서 , 처리할 패턴별로 처리기가 등록이 가능한것은 C#의 문법지원때문인데

C# 언어학적으로 파악하고자 하면 ( 템플릿 / 람다 /함수형/ 델리게이트 특성) 참조하여 더 깊은 심화 학습이 가능합니다.


어쨋든, 우리의  아주 짧은 액터 메시지 처리기 설계가 끝이 났습니다.

...

  • Ask : 결과값을 기대할때 사용합니다. 비동기로 수신하며, 동기처리시 .Result를 붙입니다. ( C#의 Async 프로그래밍 )
  • Tell : 결과값이  결과값이 필요 없을때 , 단지 전송만 하고 대기처리가 없습니다. 로직상 Tell에의해 어떠한 뒤늦은 결과값을 예상할수도 있습니다.


Child 액터 생성과 액터선택

...


자식 노드 생성

...