イベント駆動I/OライブラリEventMachineの使い方(2ページ目)イベント駆動I/OライブラリであるEventMachineの使い方を紹介します。 EM.defer EM.deferを使うことで、ブロッキングI/O処理(ファイル読み込み、ネットワーク通信など)をメインスレッドの外で実行させ、結果をコールバック関数で受け取ることができます。 以下に例を示します。 EM.runの中で、deferにより別スレッドで実行されるoperation、およびdefer実行が完了した時にメインスレッドで呼ばれるcallbackというふたつのラムダを定義しています。これを実行すると、 operationラムダの内容のみ別スレッドで実行されているのがわかります。 EM::Deferrable 一方、EM::Deferrableはオブジェクトの状態を監視して、処理が成功したか失敗したかによってインスタン