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 © 2024
京ICP备05028076号