本文主要是介绍actor 模型原理 (二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
现在开始研究一下akka的actor模型是怎么实现的:
老外写了一个程序说明actor的工作机制,下图就是学生给老师发邮件的具体示意图,那么1-6一共6个步骤
1、学生创建actor system ,就是初始化了ActorSystem
2、学生发邮件,发邮件并不是妈的找个163的邮箱直接发一下,或者说并没有直接给邮件地址,而是采用代理的方式,什么意思呢?
就是为了让俩线程,老师和学生更舒服的使用这套通信机制,把后面的邮箱的具体实现都隐藏起来,对于学生来说要做的就是发邮件,发给谁,发给老师
3、这么学生看到的这个老师,其实不是真实的老师,而只是个代理,它负责把这个邮件投递到dispatcher调度器,相当于快递的中转站,这个中转站的功能就是负责接收邮件
接收消息,和投递消息
4、投递消息阶段,投递消息就是塞到另一个actor的邮箱里,按顺序塞进去,你可以理解成塞到你家小区的格格,或者蜂巢那种小箱子里了
5、老师那个actor所在的线程中,会被actor系统投递一个mailbox对象,有了这个对象,就可以在线程中很方便的取东西了
这篇关于actor 模型原理 (二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!