先看代码:
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程序就退出了