2014年02月28日 星期五 10:06
Actor是Scala中最重要的概念之一,通过使用Actor,可以安全且方便的实现过程的异步调用,进而实现程序的并发执行。我们通过使用Message机制来和Actor进行通讯,无需担心线程安全的问题。
下面的示例代码演示了Actor的基本使用方法,请注意,在Scala的最新版本中,此种使用方法已经是deprecated,在后续版本中,将以Akka的Actor作为标准。
import scala.actors._
import scala.actors.Actor._
object S012_Actors {
def main(args: Array[String]): Unit = {
SayHello.start
PrintHello.start
SayHello ! ("World" ,PrintHello)
SayHello ! ("Universe",PrintHello)
SayHello ! ("end",PrintHello)
SayHello ! ("cat not be reached",PrintHello)
}
}
object SayHello extends Actor {
def act() {
while (true) {
receive {
case (msg: String,act: Actor) => {
if(msg == "end" ) {
act ! msg
return
}
act ! ("Hello, " + msg);
}
}
}
}
}
object PrintHello extends Actor {
def act() {
while(true){
receive {
case msg : String => {
if(msg == "end") {
return;
}
println(msg)
}
}
}
}
}
参考资料:
Zeuux © 2025
京ICP备05028076号