其他分享
首页 > 其他分享> > B22 - 057、Actor实战案例Ⅴ

B22 - 057、Actor实战案例Ⅴ

作者:互联网

初学耗时:0.5h

注:CSDN手机端暂不支持章节内链跳转,但外链可用,更好体验还请上电脑端。

一、Actor实战案例Ⅴ



记忆词:

  ...

B22 - 999、大数据组件学习⑲ - Scala


ギ 舒适区ゾ || ♂ 累觉无爱 ♀





一、Actor实战案例Ⅴ

package cn.zrk.actor
import scala.actors.Actor


case class SyncMessage(id:Int,msg:String)//同步消息
case class AsyncMessage(id:Int,msg:String)//异步消息
case class ReplyMessage(id:Int,msg:String)//返回结果消息

class MsgActor extends Actor{
  override def act(): Unit ={
    loop{
      react{
        case "start"=>{println("starting....")}

        case SyncMessage(id,msg)=>{
          println(s"id:$id, SyncMessage: $msg")
          Thread.sleep(2000)
          sender !ReplyMessage(1,"finished...")
        }
        case AsyncMessage(id,msg)=>{
          println(s"id:$id,AsyncMessage: $msg")
         // Thread.sleep(2000)
          sender !ReplyMessage(3,"finished...")
          Thread.sleep(2000)
        }

      }
    }
  }
}

object MainActor {
  def main(args: Array[String]): Unit = {
     val mActor=new MsgActor
        mActor.start()
        mActor!"start"

        //同步消息 有返回值
     val reply1= mActor!?SyncMessage(1,"我是同步消息")
      println(reply1)
      println("===============================")
        //异步无返回消息
     val reply2=mActor!AsyncMessage(2,"我是异步无返回消息")
 
      println("===============================")
        //异步有返回消息
    val reply3=mActor!!AsyncMessage(3,"我是异步有返回消息")
    //Future的apply()方法会构建一个异步操作且在未来某一个时刻返回一个值
      val result=reply3.apply()
      println(result)

  }
}



人无喜色休开店,事不遂心莫怨天。

- - - - - - - - - - - - - - - - - - - - - - - - - - - -



^ 至此,Actor实战案例Ⅴ完成。


- - - - - - - - - - - - - - - - - - - - - - - - - - - -


※ 世间诱惑何其多,坚定始终不动摇。

在大型软件开发中,用户承担的工作是( )


A、验收模块
B、要求修改
C、交付检验
D、试运行

B
alt



人无喜色休开店,事不遂心莫怨天。

- - - - - - - - - - - - - - - - - - - - - - - - - - - -


注:CSDN手机端暂不支持章节内链跳转,但外链可用,更好体验还请上电脑端。

我知道我的不足,我也知道你的挑剔,但我就是我,不一样的烟火,谢谢你的指指点点,造就了我的点点滴滴:)!



人无喜色休开店,事不遂心莫怨天。


标签:case,B22,Actor,msg,消息,println,057,id
来源: https://blog.csdn.net/weixin_42464054/article/details/93888336