Akka并发编程——第四节:Actor模型(三)

  • 时间:
  • 浏览:0
  • 来源:彩神欢乐生肖_神彩欢乐生肖官方

另外,还都需用通过context隐式对象获取父Actor和子Actor的ActorRef,示例代码如下:

通过 val firstActorPath=system.child(“firstActor”)构造一个多多 ActorPath,已经 使用

返回的便是FirstActor的ActorRef对象,ActorRef最重要的作用便是向Actor发送消息,之类

创建了MyActor,FirstActor便自动成为MyActor的直接Supervisor。没有便都需用通过代码

代码

现在,让亲戚让我们歌词 都都 来总结一下获取ActorRef的法律法律法律依据:

(1)通过ActorSystem的actorOf法律法律法律依据,不过一种法律法律法律依据是通过创建Actor,已经 返回其ActorRef

(2)通过context.actorOf法律法律法律依据,一种法律法律法律依据也是通过创建Actor,已经 返回其ActorRef

(3)通过context.parent、context.self、context.children法律法律法律依据获取当前Actor的父Actor、当前Actor及子Actor的ActorRef,一种法律法律法律依据是获取已经 创建好的Actor的ActorRef

(4)通过val myActor1=system.actorSelection(myActorPath)法律法律法律依据来获取ActorRef,一种法律法律法律依据也是获取已经 创建好的Actor的ActorRef

对于ActorRef,亲戚让我们歌词 都都 已经 半生不熟悉了,通过调用ActorSystem.actorOf法律法律法律依据都需用创建Actor,返回的便是ActorRef,之类代码

代码运行结果

Scala学习(公众微信号:ScalaLearning)每天为亲戚让我们歌词 都都 带来或多或少Scala语言、Spark、Kafka、Flink、AKKA等大数据技术干货及相关技术资讯。技术永无止境,勇攀高峰,一往直前!

我我觉得文章不错?扫描关注

中,使用

另外,还都需用通过

system.actorSelection(myActorPath)法律法律法律依据获取相应的ActorRef。已经 再使用获取到的ActorRef向Acto发送消息

本例中的重点代码如下

关于远程ActorRef的获取,亲戚让我们歌词 都都 将在后续章节中进行讲述。

ActorPath当中,akka.udp表示的是使用的协议,my-sys表示的是ActorSytem名称,host.example.com:5678为远程机器地址及端口,user为guardian supervisor,service-b为当前程序运行运行运行的顶级Actor(通过system.actorOf法律法律法律依据创建的)

下图是Akka官方文档中给出的一张图

代码运行结果:

完整版代码如下:

在前面的例子中,亲戚让我们歌词 都都 通过

获取MyActor 的直接父Actor的ActorRef,在本例中为FirstActor,已经 在FirstActor中,亲戚让我们歌词 都都 使用

本地ActorPath是Akka并发编程中的ActorPath表示法律法律法律依据,而远程ActorPath是Akka分布式编程中常用的ActorPath表示法律法律法律依据,”akka.tcp://my-sys@host.example.com:5678/user/service-b”中的TCP表示使用的是TCP协议,也都需用使用UPD协议,使用UDP协议的远程ActorPath表示法律法律法律依据有如下形式

发送消息。

代码运行结果:

获取路径下的ActorRef,除一种法律法律法律依据外,还都需用通过绝对路径 val myActor2=system.actorSelection(“/user/firstActor”)及相对路径 val myActor3=system.actorSelection(“../firstActor”)的法律法律法律依据获取ActorRef

,需用注意的是绝对路径使用的是guardian supevisor,即/user/firstActor的一种法律法律法律依据。

已经 要获取myActor,则基法律法律法律依据是类型的,之类

本将主要内容:

1. Actor引用、Actor路径

该图清晰地说明了ActorPath,ActorRef,Actor及ActorSystem之间的关系,并说明了Actor整体的层次底部形态。前面亲戚让我们歌词 都都 提到,Akka程序运行运行运行会持一个多多多 名称为user的Actor,该Actor被称为guardian supervisor(守卫监督器),无论是ActorSystem创建的Actor还是通过ActorContext创建的Actor都为user的子类,它是最顶级的Actor。

已经 使用到了ActorPath。在Akka中,ActorPath采用统一资源定位符的法律法律法律依据进行组织,之类