Versions Compared

Key

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

...

관리툴 목적으로, 네이티브한 UI 를 만드는 경우 활용할수 있습니다.  


TEST1-액터내

...

블락킹처리

...

Code Block
languagec#
themeEmacs
title지연액터
linenumberstrue
    public class ReActor : ReceiveActor
    {
        private ILoggingAdapter log = Context.GetLogger();

        public ReActor()
        {
            Receive<string>(message => {

                if(message == "slow")  //slow메시지를 받으면, 지연시킵니다.(테스트 지연코드)
                {
                    Task.Delay(500).Wait(); //처리결과를 기다리는 블락킹 코드사용은 권장되지 않음
                }

                string reply = string.Format("I'am {0} RE:{1}", Self.Path, message);
                log.Info(reply);
                Sender.Tell(reply);
            });            
        }
    }

...

아래내용을 펼쳐 옵션에따라 어떻게 결과가  다른지 확인이 가능합니다.

스레드수를 늘려 동시성을 처리하는것은 좋은 아이디어가 아닙니다. Dispatcher의 Thread수 조절에 따라

어떻게 작동되는지 확인하기위한 샘플이며, Actor내의 어떠한 Task도 비동기처리가 권장됩니다.


Expand
titleTestResult1 : type = ForkJoinDispatcher thread-count =1

스레드 1개만 사용이 됩니다.

...