2009-07-30 5 views
0

バックグラウンドスレッドでメソッドを呼び出す方法はありますか?バックグラウンドスレッドでの呼び出し方法

私はBackgroundWorkerの/スレッドを作成するのを認識していますかそれは私が、例えばのため

を探しています答えではないですが、ThreadPool.QueueUserWorkItemなどを使用SCSFは、私はBackgroundWorkerがフィットすると思います背景や

が、私は小さなアプリのために類似した何かをしたいと実施例

+1

QueueUserWorkItemの何が問題になっていますか?それは十分なバックグラウンドではありませんか? QUWIの結果として実行されるスレッドはバックグラウンドスレッドですか? – Cheeso

+0

上記説明----再び引用... SCSFには、メソッドがバックグラウンドスレッドまたはUIスレッド上で確実に呼び出されるようにする属性があります。 小さなアプリケーションでも同様のことをしたいと思います。 – Kumar

答えて

0

を探していますUIスレッドで呼び出されるメソッドを確保するための属性がありますあなたの要望。これは、Winformアプリケーションでrun an operation in the backgroundすることができます。これらの記事には実例があります。 :)

0

バックグラウンドスレッドでメソッドを呼び出す方法はたくさんあります。

メソッドの実行中にブロックしますか?メソッドから返された結果が必要ですか?この結果をUIに表示しますか?メソッドは一度呼び出されますか?必要に応じて何度も?ループで何度も?非同期に?あなたのアプリが終了したら、バックグラウンドスレッドを続行する必要がありますか?これらの質問に対する答えは、どの方法を使うべきかを教えてくれるでしょう。

「コードプロジェクト」のarticleから、さまざまなスレッドメッセージの受け渡し方法の概要を得ることができます。

0

スレッドプールはすでにバックグラウンドスレッドを使用しています。ただし、これらのスレッドを制御する権限はありません。コントロールが必要な場合は、System.Threading.Threadを使用する必要があります。これにより、スレッドの作成方法(バックグラウンド、フォアグラウンドなど)と管理(サスペンド、レジューム、スリープなど)をより詳細に制御できます。

関連する問題