Akka并发编程——第八节:Actor模型(七)
生活随笔
收集整理的這篇文章主要介紹了
Akka并发编程——第八节:Actor模型(七)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本節主要內容
停止運行Typed Actor
當Typed Actor不再需要時要將其停止,有3種方法停止Typed Actor的運行:
(1)通過system.shutdown()停止ActorSystem中所有的Typed Actor;
(2)調用TypedActor(system).stop(mySquarer)停止指定的Typed Actor;
(3)調用TypedActor(system).poisonPill(otherSquarer)停止指定的Typed Actor。
具體使用代碼如下:
代碼運行結果如下所示。
[INFO] [03/21/2016 22:41:51.119] [TypedActorSystem-akka.actor.default-dispatcher-2] [$Proxy0(akka://TypedActorSystem)] TypedActor Started [INFO] [03/21/2016 22:41:51.123] [TypedActorSystem-akka.actor.default-dispatcher-2] [$Proxy1(akka://TypedActorSystem)] TypedActor Started [INFO] [03/21/2016 22:41:51.124] [main] [Example12_10$(akka://TypedActorSystem)] fSquare=100 [INFO] [03/21/2016 22:41:51.131] [TypedActorSystem-akka.actor.default-dispatcher-5] [$Proxy1(akka://TypedActorSystem)] TypedActor Stopped [INFO] [03/21/2016 22:41:51.131] [TypedActorSystem-akka.actor.default-dispatcher-3] [$Proxy0(akka://TypedActorSystem)] TypedActor Stopped- 1
代碼中類SquarerImpl 混入了PreStart和PostStop兩個trait:class SquarerImpl(val name: String) extends Squarer with PostStop with PreStart,這樣的話在創建TypedActor之前和停止TypedActor后能夠進行相應的操作,本例中主要是為監視TypedActor的創建和停止過程。代碼TypedActor(system).stop(mySquarer)通過stop方法停止TypedActor,而TypedActor(system)
.poisonPill(otherSquarer)通過調用poisonPill方法停止運行TypedActor。
總結
以上是生活随笔為你收集整理的Akka并发编程——第八节:Actor模型(七)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Akka并发编程——第七节:Actor模
- 下一篇: scala中使用特质中的抽象字段和实际字