Page History
Info | ||
---|---|---|
Actor와 같은 비동기 메시지 객체를 이용하기위해서는, 그것을 호출하는 쪽에서도 비동기처리가 가능한 언어 스펙을 지원해야한다는것입니다. 이것은 AKKA를 이용하지 않더라도, 외부 비동기처리 메시지시스템과 연동을 할때도 중요한 요소입니다. Actor 메시지처리기법은 몰라도 되지만 JAVA가 제공하는 중요한 비동기처리 방식에대한 이해는 더 중요한 요소입니다. Future(미래)와 Promice(약속)은 비동기처리에 있어서 중요한 개념입니다. 미래에는 블록킹이 없기때문에 어느시점 사용가능한 함수의 결과(성공또는 실패등을) 를 담을수 있는 용기라고 보면 됩니다. 이것은 AKKA의 요소가아닌 기존 개발 플랫폼의 비동기처리 요소로 나중에 Actor, Akka Stream등과 연동되는 중요한 요소로 사용이 되기때문에 Actor 학습에 앞서 기존 JAVA가 가진 비동기 처리기능에대해 정리하고 가겠습니다. 참고 URL
|
Future
draw.io Diagram | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...
Note |
---|
퓨쳐는 여러함수의 결과가 다음 함수의 입력이되어야할시, 여러 함수가 병렬로 연결되며 나중에 여러 함수의 결과를 조합해야하는 파이프라이닝(pipelining)에 좋은 도구입니다. |
Sample
위와같은 형태의 조합 처리 되는 로직을 Future를 활용해 구현해보겠습니다.
...
람다식에 익숙해지면 , 복잡한 비동기 연산처리에대해 간결한 코드로 작성이 가능해집니다.
Graph
일반적인 비동기 조합처리를 위해서 JAVA의 CompletetableFuture 로도 충분하지만
...