Page History
...
이해하기위해서는 멀티스레드를 구현의 관점이 아닌 이해의관점에서 이해의 관점에서 알아둘 필요가 있습니다.
C#이 지원하는 비동기 동시처리 프로그래밍에서 ASYNC ,AWAIT,TASK등의 지원으로 ( .net 45+)
...
관련 개발 트렌드는, 언어에 상관없이 발전을하였며 추상화되어서 사용법의 차이이지차이이며
라이브러리 자체가 기존 메카니즘을 포함하고 있거나, 연동되어 같이 사용가능합니다.
...
관리툴 목적으로, 네이티브한 UI 를 만드는 경우 활용할수 있습니다.
TEST1-
...
액터내 동기처리
...
| Code Block | ||||||||
|---|---|---|---|---|---|---|---|---|
| ||||||||
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가 필요하다고 가정해봅시다.
...