タグ

channelに関するdmizuno55のブックマーク (3)

  • Goのgoroutine, channelをちょっと攻略! - Qiita

    Gogoroutine, channelがわからない マルチスレッドってなんやねん! go ステートメントってなんやねん! <- なんやねんこれ!意味不明 これをやりましょう → Go by Example やっていれば、なんとなくわかってくる。かも 以下は Go by Exampleを少し変更を加えて実行した例です。 Goroutineとは Tour of go によると goroutine (ゴルーチン)は、Goのランタイムに管理される軽量なスレッドです。 まず、スレッドがちゃんと理解してない スレッド:一連のプログラムの流れ シングルスレッド:1つのスレッドだけからなるプログラム マルチスレッド:1つのプログラムで複数のスレッドを同時に実行する マルチスレッド最強やんけ!ずっとこれ使えば小早川セナじゃん! → 実際には、しっかり理解して使わないとパフォーマンスが低下したり、デッドロ

    Goのgoroutine, channelをちょっと攻略! - Qiita
    dmizuno55
    dmizuno55 2022/02/20
    “マルチスレッドはこんなときに使う”
  • Goのcontextによるキャンセルやタイムアウト - oinume journal

    これはなに? Go言語におけるcontextパッケージを使ったキャンセルやタイムアウトについて説明する。この記事を読むと以下について詳しくなれるはず...! context.WithCancel context.WithTimeout context.Done context.Err とはいいつつも、かなり自分向けのまとめではあるし既出のトピックなので以下の記事を読むともっとわかりやすいはず。 Go Concurrency Patterns: Context - The Go Programming Language Go1.7のcontextパッケージ | Taichi Nakashima done channelを使ったキャンセルの実装 contextがあると何が嬉しいのかを説明するために、まずはdone channelを使ってキャンセルを行うコードを書いてみる。これはGo言語による並

    Goのcontextによるキャンセルやタイムアウト - oinume journal
  • Go の channel 処理パターン集 | Hori Blog

    Hori Blogフリーランスでバックエンドエンジニアとして活動している Ryota Hori のブログです。 最近はテック系記事より雑記ブログ気味。 この記事は Go Advent Calendar 2017 の 1 日目の記事です。 Go の長所に goroutine による非同期処理がありますが、どうしても channel の取り回しで黒魔術化しがちです。少しでも闇を減らしていきたいので、 channel らへんの取り回しについてパターンをまとめました。チートシート的に使えれば嬉しいです。 Go の channel の基礎 入門資料として使いたいので、題に入る前にざっくり基礎を。 定義のパターン channel には capacity という概念があります。 capacity は channel 内でバッファリングしておける容量のことで、 capacity に空きが無い場合は送信側

    Go の channel 処理パターン集 | Hori Blog
  • 1