BT

.NET Framework 4.5 の新たな非同期機能拡張

| 作者: Jenni Konrad フォローする 0 人のフォロワー , 翻訳者 吉田 英人 フォローする 0 人のフォロワー 投稿日 2012年4月15日. 推定読書時間: 2 分 |

原文(投稿日:2012/04/11)へのリンク

Visual Studio 11 あるいは Visual Studio Async CTP を試したことのある開発者ならば,Visual Basic と C# の新しいキーワードである Await と Async は馴染みのものかも知れない。Microsoft は先日,将来的な非同期プログラミング機能拡張の布石となる .NET Framework 4.5 の新たな変更点のいくつかについて詳しく説明した。

非同期コードの記述は,.NET 4.5 で大幅に容易になった。複雑なメソッドやコールバックはもはや不要だ。新たな非同期タスクの構造は,開発者にとってはごく見慣れたものだろう。同期および非同期のメソッド記述例を示す。

'synchronous method
Private Function GetInfo(url As String) As Byte()

'asynchronous method
Private Async Function GetInfo(url As String) As Task(Of Byte())

非同期メソッドはタスクを返す。タスクの Await がコールされるとそのメソッドは直ちに中断され,タスクが完了すると再開される。構造はシンプルだが,パフォーマンス低下を回避するためには,非同期コードの実装に さらに多くの配慮が必要だ

C# と Visual Basic 言語の変更以外にも,.NET Framework 4.5 Developer Preview には,一般的な操作を目的とする一連の非同期メソッドが追加されている。System.IO には ReadAsync,WriteAsync,CopyToAsync,その他いくつかのメソッドが追加された。また System.Data.Common と System.Data.SqlClient の多くのメソッドには,ExecuteQueryAsync や ExecuteScalarAsync,ReadAsync のように 対応する非同期版メソッド が用意されている。

ASP.NET 4.5 では HttpRequest.GetBufferlessInputStream が非同期的に利用可能になり,非同期ハンドラの記述を容易にしてタスクを活用するために HttpTaskAsyncHandler が導入された。WCF (Windows Communication Foundation) と WPF (Windows Presentation Foundation) にも新たな非同期機能が含まれている。

.NET Framework 4.5 Beta で新しい非同期機能を試してみるならば,Visual Studio Asynchronous Programming サイトを参照するとよいだろう。フレームワークは Visual Studio 11 の一部として,または Visual Studio 2010 の Async CTP を通じて提供されている。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには 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