一、Scala并发编程初体验
a) 关键类Actor:java的并发模型是共享数据+加锁机制,java.util.concurrent包提供的并发依然采用该机制,当系统异常复杂有很多线程存在资源抢占的问题。而scala提供的Actor,可以应对高并发,是基于消息传递的。Akka是基于scala的actor实现的并发框架,在spark的结点通信中得到广泛应用。
b) 简单的实例代码:
import scala.actors.Actor
object HelloActor {
def main(args: Array[String]): Unit = {
FirstActor.start()
SecondActor.start()
}
}
object FirstActor extends Actor {
override def act() {
for(i <- 1.to(5)) {
println("step1 " + i)
Thread.sleep(1000)
}
}
}
object SecondActor extends Actor {
override def act() {
for(i <- 1.to(5)) {
println("step2 " + i)