Golang: RobPike谈 并发Vs并行
很早的一个视频了, Rob Pike 演讲视频 《Concurrency Is Not Parallelism》。 Rob Pike 演讲 视频 : ‘Concurrency Is Not Parallelism’ — 一句话:并发更加复杂,更加优秀。(Go的并发可以利用多核&并行) Don’t communicate by shared memory. Instead, share memory by communicating. —— Rob Pike 很长的一段事件,我没有理解这句话。听了他的演讲,大致明白了: Goroutine 奉行通过通信来共享内存,而不是共享内存来通信。 因为 go 底层帮你封装了这些细 大专栏 Golang: RobPike谈 并发Vs并行 节(十几个goroutines 可能对应4-5个线程,整体上是一个大的线程池),使得你可以不必在关心这些细节。(你要合作 & 竞争,那么直接通过 chan 通信即可,通信的过程中,自动使用了共享内存,锁等等这些等机制) Go语言层面上也简化并发编程了难度,goroutines封装了原来需要同步,协作等线程问题。 你可以不必再关心线程,只用关心任务执行体,或者相应的工作即可 (实际上这么说恐怕不准确,因为多核执行的时候也有可能存在震荡,需要绑定线程) 进一步的深入探究,可以参考我的这篇文章: 《Golang: