Page History
...
공유되지 않기때문에, 임계영역 처리를 위해 'lock' 'synchronized' 와 같은 부자연스러운 키워드가 필요없으며
쓰레드를 생성하고 관리할 필요가 없어진다. 즉, 비동기형 능동적 객체인 Actor를 어떻게 최적화해서
관리할것인가의 문제는 ActorSystem이 해야할일이며 튜닝(옵션)화가 되어있다. ( http://doc.akka.io/docs/akka/2.5.3/scala/dispatchers.html )
Code Block | ||||
---|---|---|---|---|
| ||||
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) 할수가 있다. 이것이 단순한 객체접근에서 조금더 추상화된 모델이다. |
...