BT

Rx 1.0が非同期データアクセスの問題を解決

| 作者: Abel Avram フォローする 8 人のフォロワー , 翻訳者 編集部N フォローする 0 人のフォロワー 投稿日 2011年7月8日. 推定読書時間: 2 分 |

原文(投稿日:2011/06/30)へのリンク

Microsoftは、2年間のインキュベーション期間を経て、Reactive Extensions (Rx)ライブラリのバージョン1.0 をリリースした。RxはイベントドリブンUIとLINQ、同時並行性と非同期呼び出しを組合せている。

Rxは、イベントベースのUIから非同期にデータをアクセスする問題を解決しようとしている。ベースのインターフェースがIEnumerable とIEnumeratorである標準の イテレータ パターンは、非同期操作には充分ではないので、Rxは、2つの主要なインターフェース、 IObservable とIObserverを持つオブザーバー パターンを導入することで問題を解決した。クライアントがデータ コレクションを段階的に反復するのではなく、非同期呼び出しの結果として、コレクションがデータをクライアントにプッシュして、呼び出しループをクローズする。

このシナリオは、特にクラウド コンピューティングに有用だ、とRxプロジェクトのリーダーであるErik Meijer氏は言う。クラウド コンピューティングには、ネットワーク遅延がつきものなので、非同期呼び出しが必要だ。なのでクライアントは、データを要求して、他のタスクを続行し、データが入手できるようになったらそれを受け取るほうが、ずっといい。この問題はもっと標準的な方法で解決したほうが易しいように見えるが、Rxの力は、LINQと同時並行性のサポートが組込まれていることから生まれる。なので、ユーザーは、非同期に、データ片を得るのではなく、データ コレクション中に、非同期LINQクエリを生成して、同時に並行に走らせることができる。Rxは、同時並行性を扱えるのは、Parallel Extensions (PFX)の上に作られているからで、これはParallel LINQTask Parallel Libraryを含んだマネージド同時並行性ライブラリである。

2年間のインキュベーション期間を経て、Rxは公式なMicrosoft製品になり、Data Developer Centerにおいて安定したリリース1.0 としてデビューを果たした。開発者は、 C#, VB.NET, C++, F# 、JavaScriptを使って、XP以降の全Windowsバージョンと Windows Phone 7上でRxでプログラムできる。

他のリソース:.NET とJavaScript向けの Reactive Extensions (Rx)に関するBart De Smet氏との最近のInfoQインタビュー、Rx MSDN文書Channel 9 Rx Workshop

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT