Communicating Sequential Processes: процессы (горутины) общаются только через передачу сообщений (каналы), без разделяемой памяти. "Don't communicate by sharing memory; share memory by communicating." В Go каналы - первый способ координации; мьютексы - для случаев, когда разделяемая память нужна.