はじめに Githubで公開されているソースコードを読みながら、Go言語を勉強しています。 Go言語には並列処理の機能があります。 Githubで公開されているソースコードを読むために、Go言語の並列処理について学ぶ必要がありました。 Go言語には同期処理、排他制御などの機能を提供する便利なsyncパッケージがあります。 今回はこの便利なsyncパッケージのOnce, WaitGroup, Mutexについて書きたいと思います。 この記事ではGo言語のインストール方法や構文などの基本的なことについては触れません。もし、それらに興味があるならば、こちらの記事が参考になると思います。 Go言語の初心者が見ると幸せになれる場所 また、Go言語の並列処理に関する goroutine, channel, select, close などについてはこちらの記事にわかりやすくまとまっています。 Go の