先看代码:
package cn.itcast.actor
//注意导包是scala.actors.Actor
import scala.actors.Actor
object MyActor1 extends Actor{
//重新act方法
def act(){
for(i <- 1 to 10){
println("actor-1 " + i)
Thread.sleep(2000)
}
}
}
object MyActor2 extends Actor{
//重新act方法
def act(){
for(i <- 1 to 10){
println("actor-2 " + i)
Thread.sleep(2000)
}
}
}
object ActorTest extends App{
//启动Actor
MyActor1.start()
MyActor2.start()
}
说明: 上面分别调用了两个单例对象的start()方法,他们的act()方法会被执行,相同与在java中开启了两个线程,线程的run()方法会被执行。
注意: 这两个Actor是并行执行的,act()方法中的for循环执行完成后actor程序就退出了
来源:https://blog.csdn.net/qq_20042935/article/details/99547298