Versions Compared

Key

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

...

이해하기위해서는 멀티스레드를 구현의 관점이 아닌 이해의관점에서 이해의 관점에서 알아둘 필요가 있습니다.


C#이 지원하는 비동기 동시처리 프로그래밍에서  ASYNC ,AWAIT,TASK등의 지원으로 ( .net 45+)

...

관련 개발 트렌드는, 언어에 상관없이 발전을하였며 추상화되어서 사용법의 차이이지차이이며

라이브러리 자체가 기존 메카니즘을 포함하고 있거나, 연동되어 같이 사용가능합니다.

...

관리툴 목적으로, 네이티브한 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);
            });            
        }
    }

...

이와같은 전력을 통해 스레드수분리가 가능합니다. ( 기본 메시지처리기에 부하를 분리)


적용2-ACTOR내에서

...

비동기처리

...

 RestAPI를 대신하여 호출해주는 Actor가 필요하다고 가정해봅시다.

...