並列処理22019/06/30SHAREツイートシェアはてブLINEPocket平行処理の構成要素ゴルーチン(goroutine)メイン関数もゴルーチン。ゴルーチンは他のコードに対し平行に実行している関数。RWMutexMutexはメモリ(変数)へのアクセスを同期させる。RWMutexは読み込みと書き込みを別でロックする。Condゴルーチンが待機したりイベントの発生を知らせるために使う。Oncesyncの何らかのプリミティブを使ってDoメソッドに渡された関数はたとえ異なるゴルーチンで呼ばれたとしても1度しか実行されない。Pool今度勉強する。channelよく使いそうだから次の記事で詳しく書きたい。ここら辺さらっとサンプル書かれててわかりやすかったです。https://qiita.com/taizo/items/d73e54111bd470c1f1b3どうやって平行処理を書いていくか?パフォーマンスクリティカルセクションか?データの所有権を移動しようてしているか?構造体の内部状態を保護するか?複数のロジックを協調させるか?で見ていく。基本channel使って良いよって記述されているっぽいからまずはchannelから詳しく学びたいと思う。結果を生成し、その結果を別の箇所で共有したい場合。構造体の内部状態の保護メモリアクセス同期を使うかどうかの分岐である場合。c.value++}上記のIncrementの処理はアトミックであり、壁を超えてロックを公開するべきではない。ロックはレキシカルスコープ内に制限されるべき。複数のロジックの協調ロックや値を返すメソッドを組み合わせる場合。engineerwebエンジニア。フリーランスで活動しています。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。