タグ

goroutineに関するmytechnoteのブックマーク (5)

  • Go言語のgoroutineって一体何よ【golang】 - DRYな備忘録

    goroutineって一体何よ さっぱり分からないよ。並行処理?んご。Pythonならthreadingをちょっとだけ使ったことある。 しらべてみよう これめっちゃ分かりよかったです Go の並行処理 - Block Rockin’ Codes やってみよう 確かめたいポイントとしては goroutineが並行して走ってること mainが終わるとmain内で定義したgoroutineも死ぬこと package main import ( "fmt" "time" ) func repeat(say string, count int) { for i :=0; i<count; i++ { time.Sleep(1 * time.Second) fmt.Println(say, fmt.Sprintf("%d回目", i)) } } func main() { go repeat("平沢\

    Go言語のgoroutineって一体何よ【golang】 - DRYな備忘録
  • 構造体の便利な用途、インターフェイス入門(1/2)- @IT

    第5回 構造体の便利な用途、インターフェイス入門 赤坂 けい チームWordProgress 2010/3/10 突然登場した新しいプログラミング言語「Go」。その独自性、魅力を余すところなく堪能してみよう(編集部) 今回は、Goのインターフェイスについて学習していく。これは、並列処理を行うgoroutineと並んでGoの特徴的な機能である(goroutineについては第3回「ハロー、goroutine!」を参照してほしい)。 インターフェイスと聞くと、Javaのinterfaceを思い浮かべる人が多いだろう。Goの公式サイトでも、Goのインターフェイス機能は、Javaと類似していると述べられている。また、javaと同様のinterfaceキーワードも採用されている。 しかし、Javaの継承機能を廃しているGoのインターフェイスは、より強力であり、動的言語と同様のダックタイピング(duck

  • チャットで学ぶ Go ネットワークプログラミング : DSAS開発者の部屋

    簡単なチャットプログラムは、ネットワークプログラミング用のフレームワークでは定番のサンプルプログラムです。 echo サーバーが Hello World とするなら、チャットは FizzBuzz といったところでしょう。 とりあえず動くだけのチャットならだれでもすぐに作れるようになりますが、まじめにチャットを作ることで、 ネットワークプログラミングで考えないといけない点やエラー処理の重要な基礎を学ぶことができます。 ということで、 Go でシンプルなチャットを実装してみました。 (ソースコード) 以降、何を考えてどういう設計を採用したのかを解説していきます。 考慮すべきポイント 特定のクライアントへの送信に長時間待たされた場合に、他のクライアントへの送信が遅れないようにする。 クライアントを切断するのは、 (1)ルーム側から kick する場合, (2)受信エラー, (3)送信エラー の3

    チャットで学ぶ Go ネットワークプログラミング : DSAS開発者の部屋
  • 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
  • Go Conference 2014 spring で発表してきた

    5月31日にGoConference 2014 springというイベントで pt & Goroutine というタイトルの発表をさせてもらいました。 今年に入ってから Go言語をさわるようになって、pt(The Platinum Seacher)というGoでつくったagライクな高速検索ツールを公開しており、そこからのつながりで今回の発表となりました。 内容的には、以下のスライドのとおり、同ツールの高速化の経緯をたどりながらGo言語の並行処理を実現する機構であるGoroutineの使い方を知ってもらうという構成でした。 TLの反応などを見ると、需要はあり一定の満足はもらえたんじゃないかなとほっとしています。 200名ぐらいの参加者がいて、海外からのスピーカー来ているという今回のカンファレンスは、福岡から参加した自分にとってはなかなか格的なもので、たくさん刺激を受けたし、こういうところで話

    Go Conference 2014 spring で発表してきた
  • 1