め、非同期のイベントクライアントまで、フルのC#
-
09-06-2019 - |
質問
イベント同期のC#.私はこの申請が私のメインフォームを開始するスレッドとループでの話に耳を傾ける、ストリームです。何かいなことに、わたしたちをこの出力ストリームに書き込みのイベントが発火からループの主な形式です。
場合はコミットメントラインが遅いたして再生し続けますmessageboxは何かをループされなくなることがあります。どのよう。によるコールバックを起動の主なものです。
解決
う~ん、使用しました異なるシナリオの依存から必要時までです。
このBeginInvoke倍という最も簡単なコードにからんほとんどあります。どちらのに使用呼び出して、かえBeginInvoke.用コールバックは別のスレッドが目に同じこととしてお使いいただいたのthreadpoolるキューのコールバックとして使用BeginInvoke.
他のヒント
ていを形にするという方向に BackgroundWorker ます。
のBackgroundWorkerクラスです ンを実行する操作で、 専用のねじになります。時間がかかる あなたはダウンロードおよびデータベース 取引の原因となりお客様のユーザー インターフェース(UI)をどうなの 停止の対応について 走っています。している場合、UIに対応 また長遅延 することを要する業務の BackgroundWorkerクラスを提供 便利な溶液とする。
イベントも 代表者, で使用BeginInvoke.参照 作非同期メソッドの呼び出します。ネット環境)
お持ちの複数のオプションは、既に、詳細なものだよく代表BeginInvoke、BackgroundWorker代わりに(.phpがv2で増えたファイルです。0+)、そのまま使いやすくなった、見やすくなることもできるとコミットメントラインは、スレッドの完成。すべてのものweel実施し、解決しています。
システム。ComponentModel.BackgroundWorker では実際にから始めるのがよい。しい非同期の仕事は、通知の重要なイベントや方法をより良く統合しようとすると。
例えば、活性化の進展による通知登録のためのハンドラのProgressChangedイベントです。(お持ちの場合、非同期処理を組み合わせて管理したいユーザーへの応用凍結)