Scala併發編程創建Actor

創建Actor

創建Actor的方式和Java中創建線程很類似,也是通過繼承來創建。



使用方式

  1. 定義class或object繼承Actor特質
  2. 重寫act方法
  3. 調用Actor的start方法執行Actor

[!NOTE]

類似於Java線程,這裏的每個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程序運行流程

  1. 調用start()方法啓動Actor
  2. 自動執行act()方法
  3. 向Actor發送消息
  4. act方法執行完成後,程序會調用**exit()**方法


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章