タグ

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

タグの絞り込みを解除

asyncとrubyに関するclavierのブックマーク (2)

  • APIデザインケーススタディの fork と async-signal-safe の記述 : 革命の日々 その2

    最近Rubyの著名デベロッパのakrさんがAPIデザインケーススタディという書籍を出版された。隙を見ては読んでいるのだけどこれが激烈に面白い。 役にも立たない一般原則とかいっさいすっ飛ばし、実例実例、また実例である。そしてすべての例がOSの制限やら過去との互換性やらいろいろな都合でトレードオフを勘案しながら取りうる選択肢のなかでのベストを見つけていくという題材になっているので話がどれもこれもが超面白い みんな買おう。 それはさておき、一点だけちょっと微妙な記述をみつけたのでメモっておく。 P128からはじまる Column async-signal-safe関数 だけど また、実際のところ、子プロセスでasync-signal-safeでない関数を使用するのは、珍しいことではありませんでした。たとえば、ネットワークサーバの作り方の一つとして、クライアントからの接続のたびにforkを行い、子

    APIデザインケーススタディの fork と async-signal-safe の記述 : 革命の日々 その2
  • 並列1000コネクションに耐える! Ruby のイベント駆動ライブラリ Rev と EventMachine の HTTPクライアント : DSAS開発者の部屋

    並列1000コネクションに耐える! Ruby のイベント駆動ライブラリ Rev と EventMachine の HTTPクライアント こんにちは、takada-at です。 Rubyのイベント駆動型ネットワークプログラミングフレームワーク Rev と EventMachine で HTTPクライアントを動かしてみました。 イベント駆動型ネットワークプログラミングフレームワークとは何か説明しだすと難しいですが、一言で言うと、以下のようになります。 # ふつうのフロー駆動型プログラム Net::HTTP.start(host, port){|http| res = http.get(path) #この処理が終わってから } puts "done" #この次の処理が実行される # イベント駆動型プログラム client = Rev::HttpClient::connect(host, port

    並列1000コネクションに耐える! Ruby のイベント駆動ライブラリ Rev と EventMachine の HTTPクライアント : DSAS開発者の部屋
  • 1