タグ

networkとasyncに関するkana321のブックマーク (2)

  • 第32回 Reactorで非同期処理をやってみよう(2) | gihyo.jp

    おさらい 第29回では、非同期処理を実現する方法としてReactorパターンを紹介しました。 一般的に非同期処理として使われているスレッド処理と違い、Reactorパターンはシングルスレッドで動作し、スレッド間のデータの共有に悩む必要はありません。しかしReactorパターンはコードが直感的ではなく、慣れていない人には取っつきにくいものであることも確かです。 そのため、Reactorパターンを意識せずに非同期処理を実現するためのライブラリがRubyにはたくさん用意されています。 今回は、その中でもよく使われているEventMachineについて簡単に説明します。 EventMachineとは EventMachineとは、Reactorパターンを利用して非同期処理を実現し、高レベルなネットワークインターフェースを提供するライブラリです。 複雑なReactorパターンによる処理はブラックボッ

    第32回 Reactorで非同期処理をやってみよう(2) | gihyo.jp
    kana321
    kana321 2015/02/24
    Reactorで非同期処理をやってみよう
  • 第29回 Reactorで非同期処理をやってみよう(1) | gihyo.jp

    はじめに WebサービスAPIをコールするような、ネットワークを介した通信処理は、今日では頻繁に行われています。 ローカルマシンのみで完結する処理と比べると、通信が必要な処理は多大な時間が必要になります。相手サーバへの接続、相手サーバ側での処理、相手サーバからの受信など、何もすることなくただ待つだけの時間が存在します。 この無駄な時間の間に他の処理ができるならば、トータルの処理時間を大幅に短縮することが可能になります。これを実現するためにスレッドがよく使われています。しかしマルチスレッドプログラミングはいろいろと注意を払う点も多く、使いにくさを感じている方も多いのではないでしょうか。 今回はReactorパターンという、マルチスレッドとは違ったアプローチで非同期処理を実現してみたいと思います。 複数のwebサーバからHTML文章を取得してみる 同期処理 ひとまず非同期処理を忘れて、シーケ

    第29回 Reactorで非同期処理をやってみよう(1) | gihyo.jp
  • 1