タグ

go_routineに関するxai1981のブックマーク (2)

  • Go 言語の goroutine と channel についての考察 - Qiita

    channel を使うと、オペレータ <- を使って goroutine 間で値の送受信ができます。channel にはどういう型の値を扱うのか、キューをいくつ設けるかを指定することができます。マルチスレッドプログラミングの難点である排他制御や同期化を、簡単な構文で容易に実現できます。 goroutine とスレッド まずはスレッドとの違いについて考えてみましょう。FAQ に Why goroutines instead of threads? という質問がありますが、要約すると「OS のシステムスレッドよりも小さなメモリ使用量で済む」と書いてあるように見えます。実際、スレッドのデフォルトスタックサイズは Windows だと 1 MB、Linux だと 2 MB なので、数キロバイトで済む goroutine に比べると、10 KB だとしても 100 〜 200 倍の違いがあります。

    Go 言語の goroutine と channel についての考察 - Qiita
  • Go の並行処理 - Block Rockin’ Codes

    intro 先日の Go のカンファレンス GoCon で、 Go の並行処理周りについて発表させて頂きました。 Go Conference 2013 spring - connpass 具体的には Goroutine や Channel の話ですが、これらの機能は結構面白くて、いじって遊んでるだけでもわくわくします。 Go の並行処理は、設計方針がわりと特殊だと思うのですが、設計がシンプルなので分かるとそこまで難しくはないです。 (使いこなすのは、経験が必要そうですが) 今回話すにあたって色々調べましたが、発表時間の都合上省いたものもあるし、質疑応答で聞かれて応えられなかったこともあるので、 ここでまとめて置こうと思います。 発表資料 今回の発表資料はこちらです。 このブログの内容は、これをベースにします。 http://jxck.node-ninja.com/slides/gocon-

    Go の並行処理 - Block Rockin’ Codes
  • 1