使用async和void返回fire并忘记在C#中

时间:2012-08-18 15:52:32

标签: c# threadpool async-await

我在Web APP中有一个返回void的方法

public static void doSomething(){
}

我喜欢在c#5.0中使用async来解雇它,怎么做?

顺便说一句,如果void doSomethingQuick()是短期方法,那么最节省资源的方法是什么才能解雇?

如果void doSomethingSlow()是一个长期运行的方法,那么最省钱的方法是什么才能解雇?

1 个答案:

答案 0 :(得分:1)

有三种类型的异步方法:

async void Foo()
async Task Bar()
async Task<T> Baz()

请注意,只有最后两个可以(a)等待。这个例子中的Foo适用于火灾和遗忘场景。您必须记住,在这种情况下async只是该方法本身可能使用await的指示符。因此,您可以声明async void doSomethingQuick()async void doSomethingSlow()。仅仅因为方法返回任务并不意味着它在单独的线程上执行。它可能会返回一个已完成的任务。