【架构师之路】锁战争终结者:Actor与CSP如何颠覆传统并发编程?

前言

并发体系可以分为两层,上面一层是抽象的模型,下面一层是承载具体模型的技术机制。

  • 模型可以分为: 共享内存模型、Actor模型、CSP模型等
  • 承载模型的具体技术机制可以分为: 协程、多线程、多进程、集群分布式

常见的并发模型一般包括3类,基于线程与锁的内存共享模型actor模型CSP模型

ActorCSP模型都属于高层次的抽象模型,底层的实现可能有多种。而线程与锁(也就是共享内存)模型是较为底层的模型。

并发模型对比表

模型分类 优点 缺点 实现语言/库
共享内存模型-锁模型 • 贴近硬件架构,性能高
• 是其他并发模型的基础
• 不支持分布式内存模型
• 调试测试困难
• 需避免事务副作用
Java/C++等主流语言
共享内存模型-STM模型 • 相比锁模型更简单
• 大部分情况下更高效
• 不支持分布式内存模型 Clojure语言标准库
消息传递模型-CSP模型 • 相比锁模型更简单
• 容易实现高并发
• 不支持分布式内存模型 Go语言、Clojure的core.async库
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值