このプログラムは、main()を実行した後、終了しません。
object Main
{
def main(args: Array[String]) {
... // existing code
f()
... // existing code
}
def f() {
import scala.actors.Actor._
val a = actor {
loop {
react {
case msg: String => System.out.println(msg)
}
}
}
a ! "hello world"
}
}
この予期しない副作用のために、アクターの使用は煩わしいと見なされる可能性があります。
アクターがプログラムの終了まで実行し続ける必要があると仮定すると、終了のすべての場合に元の動作を維持するにはどうすればよいですか?