Akka를 사용할 때 입출력 작업, 폴링, 대기 중, 잠자는 중 등을 막는 중요한 규칙을 읽었습니다.하지만 실제로 흐름 제어가 필요한 경우 어떻게해야합니까?Akka를 사용하여 흐름을 제어하려면 어떻게합니까?
저는 Akka 배우를 사용하여 고객에게 메일을 보내고 메일 서버에 익숙해지기 위해 5 초마다 하나의 메일을 보냅니다. 내 계획은 메일 보내기 작업을 수행하는 발송자와 흐름 제어를 수행하기 위해 발송자 액터를 사용합니다.
class Dispatcher extends Actor {
def receive = {
case ResetPassword(to, data) =>
senderActor ! Mail("resetPassword", to, data)
Thread.sleep(5000)
...
}
}
class Sender extends Actor {
def receive = {
case Mail(to, data) => // send the mail immediately
...
}
}
이것이 올바른 방법입니까? 그렇지 않다면 어떻게 흐름 제어를해야합니까?
이 시도하고 작업을 막지 않도록하는 것이 중요하지만, 그렇지 않습니다 어려운 규칙; http://doc.akka.io/docs/akka/2.1.0-RC3/general/actor-systems.html#Blocking_Needs_Careful_Management –