我正在设计一个从无尽流中消耗项目的actor,并且需要一种方法来控制何时启动和停止使用消息。有没有一种通过演员来实现这种可中断循环的通用模式?我正在考虑让我的演员发送消息给自己。类似于(伪斯卡拉):使用actor的可中断循环的模式
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"
}
}
}
这是关于事情的最佳方式吗?
谢谢!
根据我们最新的数据阿卡做一个8core机每秒约3万条信息。你确定你没有过早地优化吗? – 2011-04-11 19:47:57
感谢您的回复,Viktor。我把这个问题改为关于设计。只是试图去与演员模型交手!阿卡很棒,顺便说一句。 -D – spieden 2011-04-11 20:34:40