이번 강의에서는 액터가 어떻게 동작하는지 그림 예시를 통해 배웠다.
유데미 캡쳐가 안되어서 그림을 첨부 못 하는 게 아쉽다.
액터는 메시지 핸들러와 메시지 큐를 가지며, 이는 스레드에 의해 실행되어야 한다.
액터 시스템은 액터와 공유되는 스레드 풀을 가지고 있다.
메시지는 액터의 메일박스로 전송되고, 이는 액터의 메시지 핸들러에 의해 처리된다.
메시지 처리는 스레드에 의해 실행되며, 한 번에 한 스레드만이 액터를 제어할 수 있다.
이는 액터의 상태를 변경하거나 다른 액터에 메시지를 전송할 수 있다.
액터는 한 번에 하나의 스레드만 접근할 수 있기 때문에, 내부 상태에 대한 동기화가 필요하지 않다. 이로 인해 경쟁 상태가 발생하지 않는다.
Akka는 최대 한 번의 배달 보장을 제공한다. 또한, 같은 송신자와 수신자 쌍의 메시지 순서는 항상 유지된다.
Akka는 액터를 적은 수의 스레드에서 스케줄링하여 실행하고, 처리가 끝나면 다른 작업으로 이동한다.
액터는 비동기적으로 동작하며, 메시지는 액터의 메일박스에 안전하게 저장된 후 순차적으로 처리된다..