,但是也导致了上下文问题,RunAsync不在以UI线程调用
// Result和Wait()方法如果出现异常,异常将被包装为AggregateException进行抛出,
return...(CancellationToken)传递给所有使用到的API
由于在.NET中取消操作必须显示的传递CancellationToken,所以如果想取消所有调用的异步函数,那么应该将CancllationToken.../ping");
}
}
下面例子将阻止计时器回调,这有可能导致线程池中线程耗尽,这也是一个异步差于同步的例子
public class Pinger
{
private readonly.../ping").GetAwaiter().GetResult();
}
}
下面例子是使用基于的异步的方法,并在定时器回调函数中丢弃该任务,并且如果此方法抛出异常,则也不会关闭进程,而是会触发...类中有一个接收回调函数的FireAndForget方法,该方法在某个时候执行调用
下面这个错误例子将强制调用者要么阻塞要么使用async void异步方法
public class BackgroundQueue