Versions Compared

Key

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

...

공유되지 않기때문에, 임계영역 처리를 위해  'lock' 'synchronized' 와 같은 부자연스러운 키워드가 필요없으며

쓰레드를 생성하고 관리할 필요가 없어진다.  즉, 비동기형 능동적 객체인 Actor를 어떻게  최적화해서

관리할것인가의 문제는 ActorSystem이 해야할일이며 튜닝(옵션)화가 되어있다.   ( http://doc.akka.io/docs/akka/2.5.3/scala/dispatchers.html )


Code Block
languagec#
titleActor 설계 코드
public class MyActor: ReceiveActor
{
  private readonly ILoggingAdapter log = Context.GetLogger();
  private int state =0;

  public MyActor()
  {
    Receive<string>(message => {
      log.Info("Received String message: {0}", message);
      Sender.Tell(state );
    });
    Receive<SomeMessage>(message => {...});
  }
}



var remoteActor = system.ActorSelection("akka.tcp://MyServer@127.0.0.1:8001/user/someActor");
var state = remoteActor.Ask("Hello").Result; // 질의를 하던지?(Ask),단지 말만한다던지?(Tell)  할수가 있다. 이것이 단순한 객체접근에서 조금더 추상화된 모델이다.

...