最終更新:2018-06-05 (火) 13:59:28 (2151d)  

.NET Framework/非同期処理
Top / .NET Framework / 非同期処理

System.Threading.Thread

System.Threading.ThreadPool

System.Threading.Tasks

Asynchronous Programming Model

Rx

C♯/非同期処理

メモ

  • 短時間で終わるメソッドの実行にはスレッドプールを積極的に活用し、時間のかかるメソッドの実行にはThread.Start?を使うのが無難

メモ

  • .NET Frameworkではスレッドプールをデリゲートによる非同期呼び出し、スレッドタイマ、System.Netソケット接続、非同期I/O完了などでも利用している

メソッドの終了待機

  • EndInvokeメソッドで呼び出しが終了するまでブロックする。
  • 待機ハンドル?を使って待機する。
  • IAsyncResult.IsCompleted?プロパティがTrueになるまで待つ。
  • 呼び出しが終了したときにコールバックメソッドが実行されるようにする。

参考