次のコードがあります。私が俳優の体内の "foo()"への呼び出しにコメントすると、コードは正常に動作します。しかし、 "foo()"が起動されていれば...私のコードはフリーズします!Actor内のメソッド呼び出しは、Scalaでフリーズします
誰もがなぜですか?
import scala.actors.Actor._
object Main extends Application{
def foo() = {
println("I'm on foo")
}
def testActor() = {
val target = self
for(i <- 1 to 100){
actor{
foo()
target ! i
}
}
var total = 0
receive{
case x:Int => total += x
}
total
}
println("Result: " + testActor())
}
を参照してください。http://stackoverflow.com/questions/1332574/common-programming-mistakes-for-scala-developers-to-avoid/1334962#1334962 –