エンドレス ストリームからアイテムを消費するアクターを設計しており、メッセージの使用を開始および停止するタイミングを制御する方法が必要です。このような中断可能なループをアクターで実装するための一般的なパターンはありますか? アクターに自分自身にメッセージを送信させることだけを考えていました。(疑似Scala)のようなもの:
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"
}
}
}
これは物事を進めるための最良の方法ですか?
ありがとう!