并发是指逻辑上具备同时处理多个任务的能力;并行则是物理上同时执行多个任务。 Concurrency is a property of the code; parallelism is a property of the running program.

举个例子:
并发:跑步-> 停下系鞋带 -> 继续跑步
并行:边跑步边听歌

CSP模型

Go语言使用CSP模型:

  1. Worker1 --> Channel --> Worker2

其中Worker(goroutine)之间使用channel通信

Actors模型

  1. Actor1 --> Actor2 --> Actor3
  2. Actor4

Actor1通过向Actor2“发送邮件”来发送信息,Actor2则自行决定是否接受“邮件”。

参考

Actor模型和CSP模型的区别
并发模型:Actors与CSP