1. 概念 单纯的将函数并发执行是没有意义的,函数与函数之间需要交换数据才能提现并发执行函数的意义虽然可以使用共享内存来进行数据的交换,但是在共享内存在不同的goroutine中容易发生竟态问题,为了保证数据交换的正确性,必须使用互斥量对内存进行加锁,这种做法势必造成性能问题,go语言的并发模型是CSP,提倡通过通信共享内存,而不是通过共享内存而实现通信如果说goroutine是go程序并发的执行体,那么channel就是它们之间的连接,channel是可以让一个goroutine发送一个特定值