如何三分钟快速理解Actor模型与CSP模型的核心区别?
- 内容介绍
- 文章标签
- 相关推荐
本文共计953个文字,预计阅读时间需要4分钟。
回顾前文《三分钟能掌握共享内存模型和Actor模型》中,我们探讨了Actor vs CSP模型和传统多线程的共享内存(ShareMemory)模型。传统多线程使用lock、condition等同步原语来确保线程之间的同步,从而定义进程执行的顺序。而Actor模型则不同,它是基于消息传递和独立状态的模型。
在Actor模型中,每个Actor是一个独立的实体,它通过发送和接收消息与其他Actor通信。这种模型避免了共享内存和同步问题,因为每个Actor都拥有自己的状态和内存。这种设计使得Actor模型在分布式系统和并发编程中具有优势。
回顾一下前文《三分钟掌握共享内存模型和 Actor模型》
Actor vs CSP模型- 传统多线程的的共享内存(ShareMemory)模型使用lock,condition等同步原语来强行规定进程的执行顺序。
- Actor模型,是基于消息传递的并发模型,强调的是Actor这个工作实体,每个Actor自行决定消息传递的方向(要传递的ActorB),通过消息传递形成流水线。
本文现在要记录的是另一种基于消息传递的并发模型: CSP(communicating sequential process顺序通信过程)。
在CSP模型,worker之间不直接彼此联系,强调信道在消息传递中的作用,不谋求形成流水线。
消息的发送者和接受者通过该信道松耦合,发送者不知道自己消息被哪个接受者消费了,接受者也不知道是从哪个发送者发送的消息。
go的信道go的信道是golang协程同步和通信的原生方式。
本文共计953个文字,预计阅读时间需要4分钟。
回顾前文《三分钟能掌握共享内存模型和Actor模型》中,我们探讨了Actor vs CSP模型和传统多线程的共享内存(ShareMemory)模型。传统多线程使用lock、condition等同步原语来确保线程之间的同步,从而定义进程执行的顺序。而Actor模型则不同,它是基于消息传递和独立状态的模型。
在Actor模型中,每个Actor是一个独立的实体,它通过发送和接收消息与其他Actor通信。这种模型避免了共享内存和同步问题,因为每个Actor都拥有自己的状态和内存。这种设计使得Actor模型在分布式系统和并发编程中具有优势。
回顾一下前文《三分钟掌握共享内存模型和 Actor模型》
Actor vs CSP模型- 传统多线程的的共享内存(ShareMemory)模型使用lock,condition等同步原语来强行规定进程的执行顺序。
- Actor模型,是基于消息传递的并发模型,强调的是Actor这个工作实体,每个Actor自行决定消息传递的方向(要传递的ActorB),通过消息传递形成流水线。
本文现在要记录的是另一种基于消息传递的并发模型: CSP(communicating sequential process顺序通信过程)。
在CSP模型,worker之间不直接彼此联系,强调信道在消息传递中的作用,不谋求形成流水线。
消息的发送者和接受者通过该信道松耦合,发送者不知道自己消息被哪个接受者消费了,接受者也不知道是从哪个发送者发送的消息。
go的信道go的信道是golang协程同步和通信的原生方式。

