不要通过共享内存来通信,而应通过通信来共享内存。在“Go编程实战:博客备份”一文中,使用Go语言实现了博客备份的串行流程。本文,我们来学习使用Gochannel的基于通信的并发编程。并发编程模型并发是一个很有趣也很有挑战性的话题。CPU设计已经朝多核方向发展多时,而并发是充分利用多核优势的编程模型。用《火影忍者》的术语,并发就相当于多重影分身术,可以同时分化出不计其数的鸣人来进行攻击和防御。不过,并发是有一定难度的。与串行程序按照指令顺序执行不同,并发的指令执行顺序是不确定的,因此更容易出错,出现难以排查和难以解决的BUG。目前有两种主要的并发模型:基于共享内存的并发模型。即多个线程可以同时对