以异步方式调用普通方法的最佳方法是什么?

时间:2011-01-17 15:44:04

标签: c# .net

只需要像

这样的常规方法

void DosomethingLong()

以异步方式调用它的最佳方法是什么?

2 个答案:

答案 0 :(得分:6)

标准方法是创建方法的委托:

Action myMethod = DosomethingLong;

然后使用APMexample)异步执行:

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

// ...

myMethod.EndInvoke(result);

您可以使用其他方法;使用Thread,使用BackgroundWorker等,具体取决于您的具体要求。

答案 1 :(得分:0)

如果使用.NET 4,则可以

var yourLongRunningTask = Task.Factory.StartNew(DosomethingLong);
// some time later
Task.WaitAll(yourLongRunningTask);