タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

coroに関するcrenlifのブックマーク (1)

  • Coro と Go で並列実行数の制御 - 酒日記 はてな支店

    http://d.hatena.ne.jp/tokuhirom/20090710/1247196134 この Coro の例を Go でやってみます。 まず特定数 (ここでは 3) の worker thread を立ち上げておいて、そこにメッセージを送って仕事させるモデル。メッセージのやりとりに Coro::Channel を使います。 use Coro; use Coro::Channel; use Coro::Timer; my $ch = Coro::Channel->new; sub worker { while (1) { my $url = $ch->get; printf("worker(%d): %s\n", $_[0], $url); Coro::Timer::sleep(1); } } my @coros = ( async { worker(1) }, async

    Coro と Go で並列実行数の制御 - 酒日記 はてな支店
    crenlif
    crenlif 2009/11/24
    "Go では、make(chan TYPE, X) とすると X 個のメッセージしか入らない (それ以上入れようとするとブロックする) channel が作れるのでそれがセマフォの代わりになる。"
  • 1