(1)异步方法不等于多线程
异步放入新线程执行
Task.run( () =>{})
(2)为什么有的方法不标async
async的缺点:
1.异步方法会生成一个类;运行效率没有普通方法高;
2.可能会占用非常多的线程;
async await 是Task的再一次封装,体会异步方法的同步使用
同步方法:运行效率会更高,不会造成线程浪费
异步方法:可以提高并发量,同时接更多的任务处理,但是服务器的处理速度是有限制的
标async只是让我们更好用await
只是简单调用的话,不对结果进行处理,可以不用async
返回task:
static Task<string> TaskReturn()
{
return Task.FromResult("0");
}
(3)异步方法的暂停
异步方法中暂停,不要用Thread.Sleep().会阻塞调用线程=》界面卡死
用await Task。Delay().异步休息
在高并发的情况下,多次sleep()会造成程序卡死