我有一个在Web应用程序中返回void的方法
public static void doSomething(){
}
我希望通过在C# 5.0中使用async
,使其变成“火而忘”的状态,如何操作?
顺便提一下,如果void doSomethingQuick()
是一个短时间运行的方法,最节约资源的“火而忘”方法是什么?
如果void doSomethingSlow()
是一个长时间运行的方法,最节约资源的“火而忘”方法是什么?
我有一个在Web应用程序中返回void的方法
public static void doSomething(){
}
我希望通过在C# 5.0中使用async
,使其变成“火而忘”的状态,如何操作?
顺便提一下,如果void doSomethingQuick()
是一个短时间运行的方法,最节约资源的“火而忘”方法是什么?
如果void doSomethingSlow()
是一个长时间运行的方法,最节约资源的“火而忘”方法是什么?
有三种类型的异步方法:
async void Foo()
async Task Bar()
async Task<T> Baz()
async
只是一个指示符,表示该方法本身可能使用await
。因此,您可以声明async void doSomethingQuick()
和async void doSomethingSlow()
。仅因为一个方法返回一个任务并不意味着它在单独的线程上执行。它可能会返回一个已完成的任务。
Task.Factory.StartNew(() => doSomething());
- L.B