非同期プログラミングのガイドライン

非同期プログラミングは、リモート処理ASP.NET、Windows フォームなど、共通言語ランタイムの多くの領域でサポートされている機能です。非同期プログラミングは、.NET Framework の中心的な概念です。ここでは、非同期プログラミングのデザイン パターンについて説明します。

これらのガイドラインの背景にある基本的な考え方は、次のとおりです。

  • クライアントでは、特定の呼び出しを非同期にするかどうかを判断します。
  • クライアントによる非同期の動作をサポートするために、サーバーで追加のプログラミングを行う必要はありません。クライアント ビューとサーバー ビューの差異は、ランタイムで管理できるようにします。結果として、クライアントによる動的呼び出しをサポートするために、サーバーが IDispatch を実装し、大量の作業を実行する必要はなくなります。
  • サーバーは、非同期動作を汎用アーキテクチャよりも効率的に実装できるため、またはクライアントによる非同期動作だけをサポートする必要がある場合もあるため、非同期動作を明示的にサポートできるようになっています。このようなサーバーは、このドキュメントで説明されているデザイン パターンに準拠して、非同期操作を公開することをお勧めします。
  • タイプ セーフを強制する必要があります。
  • 非同期プログラミング モデルをサポートするために必要なサービスは、ランタイムが提供しています。これらのサービスは次のとおりです。
    • クリティカル セクションや ReaderWriterLock インスタンスなどの同期プリミティブ。
    • WaitForMultipleObjects メソッドをサポートするコンテナなどの同期構成要素体。
    • スレッド プール。
    • Message オブジェクトや ThreadPool オブジェクトなどの基になるインフラストラクチャへの公開。

参照

クラス ライブラリ開発者向けのデザイン ガイドライン | 非同期プログラミングのデザイン パターン