Я разрабатываю актера, который потребляет предметы из бесконечного потока, и мне нужен способ контролировать, когда он запускается и останавливается, используя сообщения. Существует ли общая схема реализации таких прерывистых циклов с актерами? Я думал просто о том, чтобы мой актер отправлял сообщения самому себе. Нечто подобное (псевдо Скала):
class Interruptible extends Actor {
val stream: Stream
val running: boolean
def receive = {
case "start" => {
running = true
consumeItem
}
case "stop" => {
running = false
}
case "consumeNext" => consumeItem
}
def consumeItem {
if (running) {
stream.getItem
this ! "consumeNext"
}
}
}
Это лучший способ идти о вещах?
Спасибо!