# Message passing * A popular approach for safe concurrency is to use *message passing* instead of shared state. * Channels are an example of a message passing implementation. * The Go language is advocating for this approach with their slogan: "[Do not communicate by sharing memory; instead, share memory by communicating](ref/7fto)". :programming: