タグ

Golangと並行処理に関するlearnのブックマーク (3)

  • Go言語の並行性を映像化する | POSTD

    Goというプログラミング言語の強みの1つは、 Tony Hoare考案のCSP に基づくビルトインの並行性(Concurrency)です。Goは並行性を念頭にデザインされているため、複雑に並行したパイプラインの構築を可能にしています。でも、それぞれの並行性パターンがどのように見えるものなのか気になったことはありませんか。 もちろん、気になったことはあると思います。恐らくそれぞれ形は違っても、誰もが頭に描いているのではないでしょうか。もし、「1から100までの数字」について聞かれたら、無意識に頭の中で数字のイメージを思い浮かべると思います。例えば、私の場合、自分の前から1から20までがまっすぐに並び、21以降は90度右に曲がり1000以降まで続くイメージが浮かびます。これは多分私が幼稚園の時に教室の壁に沿って数字が貼られていて、ちょうど角に数字の20があったからなのだと思います。別の例えをす

    Go言語の並行性を映像化する | POSTD
  • LearnConcurrency

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    LearnConcurrency
  • Big Sky :: golang の sync パッケージの使い方

    golang と言えば非同期に特化した言語ですが、慣れない内は簡単な非同期しか使えません。しかし sync パッケージを知る事でもっとカジュアルに、かつ確実な非同期処理を行う事が出来る様になります。 今日はそんな sync パッケージについて説明してみたいと思います。 sync.Mutex ご存じ sync.Mutex です。皆さんが一番使う排他制御だと思います。 package main import ( "fmt" "runtime" "sync" "time" ) func parallel(wg *sync.WaitGroup) { fmt.Println("博") time.Sleep(100 * time.Millisecond) fmt.Println("多") time.Sleep(100 * time.Millisecond) fmt.Println("の") time.

    Big Sky :: golang の sync パッケージの使い方
  • 1