はちゅにっき

こっちのブログはまったり更新

Event programing fun with AnyEvent and Coro

AnyEvent 面白そう。
というわけで、聞き入っていた。
# ってゆーいいわけ。

EventLoop なモジュールはたくさんある。
でも API はどれも違う。書き方が違い過ぎて、ある EventLoop なプログラムを、他の EventLoop へ移植できない。

POE::Compornent には 250 ものサブモジュールがある。
多くのモジュールがあることはいいことかもしれないが、実際のところは移植性がないせいでただ増えているだけ。
AnyEvent を使うとどんなバックエンドでも動く。
バックエンドを判断し、それにあせて EventLoop する。
AnyEvent には 35 のモジュールしかないけれど、それで十分であり増やす必要性もない。

AnyEvent について

AnyEvent->condvar;

というのがよく出てくる。Condition Variable と呼ばれる状態を保存している変数で、すごく重要。


~~~~ いろいろな使用例 ~~~~

  • AnyEvent::Socket
  • AnyEvent::HTTP
  • AnyEvent::IO
  • AnyEvent::Twitter::Stream
    • StreamAPI を利用している

そのた

AnyEvent ではまる場所なんかの解説がありました。
循環参照を使って、スコープを無視する技とかも。
スライドが公開されたら、それ見るのがすごくよさそう。
使用例とかも、シンプルで分かりやすかった。


公開されてたー。
http://www.slideshare.net/miyagawa/asynchronous-programming-with-anyevent