创建Actor
创建Actor的方式和Java中创建线程很类似,也是通过继承来创建。
使用方式
定义class或object继承Actor特质
重写act方法
调用Actor的start方法执行Actor
示例
示例说明
创建两个Actor,一个Actor打印1-10,另一个Actor打印11-20
使用class继承Actor创建(如果需要在程序中创建多个相同的Actor)
使用object继承Actor创建(如果在程序中只创建一个Actor)
参考代码
使用class继承Actor创建
object _05ActorDemo {
class Actor1 extends Actor {
override def act(): Unit = (1 to 10).foreach(println(_))
}
class Actor2 extends Actor {
override def act(): Unit = (11 to 20).foreach(println(_))
}
def main(args: Array[String]): Unit = {
new Actor1().start()
new Actor2().start()
}
}
使用object继承Actor创建
object Actor1 extends Actor {
override def act(): Unit =
for(i <- 1 to 10) {
println(i)
}
}
object Actor2 extends Actor {
override def act(): Unit =
for(i <- 11 to 20) {
println(i)
}
}
def main(args: Array[String]): Unit = {
Actor1.start()
Actor2.start()
}
Actor程序运行流程
调用start()方法启动Actor
自动执行act()方法
向Actor发送消息
act方法执行完成后,程序会调用exit()方法
结果: