大数据系列修炼-Scala课程106

大数据系列修炼-Scala课程106

核心内容:
1、Akka中的消息的不同发送方式详解

1、Akka中的消息的不同发送方式详解

1>在Akka中,从类型上而言,有两种消息的发送方式:
第一种方式:消息发送之后立即忘记,即给一个Actor发送消息,然后就立即返回。至于对应的Actor是否给你回复消息你是不关系的,这种Actor
消息的发送方式叫做Fire and Forget。简单概括就是消息发送之后不等待执行结果。(呵呵!电话打了,你爱接不接!)
第二种方式:消息发送之后会等待目标Actor信息的回复。简称send and receive。(呵呵!电话打了,等到你接!)
2>从总体上而言,第一种消息的发送方式是非阻塞的,第二种消息的发送方式是阻塞的,但无论是第一种方式还是第二种方式,就发送动作(发送方)
而言,其实都是异步的(synchronized)、非阻塞的。
3>在Actor消息传递的过程中,我们通常会使用future这个实例对象来接受对方Actor回复的具体的消息。
4>第一种发送方式语法上是tell与!,第二种消息发送方式是ask与?。
5>Scala中所有的代码理论上都是基于Actor的。

实例程序1:

master ! "Scala and Hadoop"   
master ! "Java and Spark Scala Hadoop and "     //注意:master在这里实际上是消息的接受者
master ! "Hbase and spark Java and Scala"    //!在这里实际上是一个函数

如有问题,欢迎留言指正!

你可能感兴趣的:(scala,大数据)