标签:isp eth 模型 执行 nbsp load 事件 alc col
忘掉那些繁琐的异步编程模型吧!领略下C#5.0带来的便捷性
当需要I/O绑定(例如从网络请求数据或访问数据库)
当使用CPU绑定代码(例如执行成本高昂的计算)
对于I/O绑定的代码,当你await一个操作,它将返回async方法中的一个Task或Task<T>
对于CPU绑定代码,当你await一个操作,它将在后台线程通过Task.Run方法启动
await关键字有这奇妙的作用,当你await一个操作,它控制执行await的方法的调用方,且最终允许UI具有响应性或服务具有灵活。
private readonly HttpClient _httpClient = new HttpClient(); downloadButton.Clicked+=async(o, e) => { var stringData = await _httpClient.GetStringAsync(URL); DoSomethingWithData(stringData);
private DamagResult CalculateDamageDone() { //do lots of Calcute } button.Click+= async(o, e) => { var result = await Task.Run(() => CalculateDamageDone()); DisplayDamage(result); }
async方法需在其主体中具有awat关键字,否则它们将永不暂停
async void 应仅用于事件处理程序
标签:isp eth 模型 执行 nbsp load 事件 alc col
原文地址:https://www.cnblogs.com/jingjingweixiao/p/10987312.html