`
shixiaomu
  • 浏览: 375312 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

go 和 erlang 有感

 
阅读更多
先说“执行体之间的互斥与同步”。当执行体之间存在共享资源(一般是共享内存)时,为保证内存访问逻辑的确定性,需要对访问该共享资源的相关执行体进行互斥。当多个执行体之间的逻辑存在时序上的依赖时,也往往需要对执行体之间进行同步。互斥与同步是执行体间最基础的交互方式。


再说“执行体之间的消息传递”。在并发编程模型的选择上,有两个流派,一个是共享内存模型,一个是消息传递模型。多数传统语言选择了前者,少数语言选择后者,其中最典型的代表是Erlang语言。业界有专门的术语叫“Erlang风格的并发模型”,其主体思想是两点:一是“轻量级的进程(Erlang中的进程这个术语就是我们上文说的执行体)”,二是“消息乃进程间通讯的唯一方式”。当执行体之间需要相互传递消息时,通常需要基于一个消息队列(Message Queue),或者进程邮箱(Process Mail Box)这样的设施进行通讯。
 

多线程:
可见性和有序性,互斥和同步,(都是针对共享资源)
进程或线程或携程间的通信(共享和消息).(共享是恶魔,有互斥和同步问题,消息更灵活,并发无控制)

代码的体系结构:
组合很优雅 ,继承是恶魔..
接口有点本末倒置的感觉.自己觉得跟spring的依赖注入有点像.谁调用谁负责定义.然后把实现类找过来询问.
接口的实现可以询问.你到底是谁?
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics