我有以下代码。如果我在演员体内注释对“foo()”的调用,则代码可以正常工作。但是如果“foo()”被激活……我的代码就会冻结!
有谁知道为什么?
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())
}