2011-01-17 13 views
1

だけ通常のメソッドを非同期の方法で呼び出す最も良い方法は何ですか?

無効DosomethingLong(のような通常の方法を持っている)

非同期方法でそれを呼び出すための最良の方法は何ですか?

+0

どのバージョンができますか? –

+2

どのような基準に基づいて最良の方法? – DHN

+0

@DHN:「基準」は複数の「基準」です。 :) (私は抵抗できませんでした) – Mehrdad

答えて

6

標準的な方法は、メソッドのデリゲートを作成することです:

Action myMethod = DosomethingLong; 

その後、APMexample)を使用して、非同期的に実行します。

IAsyncResult result = myMethod.BeginInvoke(..., null); 

// ... 

myMethod.EndInvoke(result); 

あなたが使用できる他の方法があります。あなたの正確な要件に応じて、Threadを使用して、BackgroundWorkerなどを使用して、

0

.NET 4を使用した場合は、.NET Frameworkの

var yourLongRunningTask = Task.Factory.StartNew(DosomethingLong); 
// some time later 
Task.WaitAll(yourLongRunningTask); 
関連する問題