Open棟梁 wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

  • 非同期化フレームワークは、
    APM(Asynchronous Programming Model)、
    EAP(Event-based Asynchronous Pattern)に分類されるパターン。
    • 主スレッドから副スレッドを使用して非同期呼び出しを行う。
    • 副スレッド(非同期スレッド)から結果表示(UI更新)を行う。
    • 非同期呼び出しの結果はControl.Invoke、Dispatcher.Invoke のメカニズムにより
      Windowsメッセージングキューを使用して主スレッド経由で画面に反映される。
  • これらの非同期化フレームワークは、 3層C/S方式と相性が良く、
    • Windows Forms、WPF / XBAPの双方に対応している。
    • GUIからのサーバ呼出に利用できる(例えば、OpenTP1、Java Webサービスなど)。

比較

async/awaitとの比較。

  • async/awaitは、
    • TAP(Task-based Asynchronous Pattern)に分類されるパターン。
    • Taskを返す非同期メソッドを使用する場合は、async/awaitを使用する。
  • 非同期呼出フレームワークは、async/awaitと比べ、
    • 問題発生時に、デバッグがし易い。
    • また、非同期処理側のスレッド数を厳密に制御できる。

などの利点がある。

必要に応じて、選択的に使用すると良い。

参考

ライブラリ

https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/CS/Frameworks/Infrastructure/Framework/RichClient/Asynchronous/BaseAsyncFunc.cs

SlideShare?

非同期呼出フレームワーク

添付ファイル: filerc_fx_s.png 132件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-09-14 (金) 17:23:24 (33d)