并发是指逻辑上具备同时处理多个任务的能力;并行则是物理上同时执行多个任务。 Concurrency is a property of the code; parallelism is a property of the running program.
举个例子:
并发:跑步-> 停下系鞋带 -> 继续跑步
并行:边跑步边听歌
CSP模型
Go语言使用CSP模型:
Worker1 --> Channel --> Worker2
其中Worker(goroutine)之间使用channel通信
Actors模型
Actor1 --> Actor2 --> Actor3
↓
Actor4
Actor1通过向Actor2“发送邮件”来发送信息,Actor2则自行决定是否接受“邮件”。