async task 调用的时候使用await
async void 调用的时候不需要使用await
虽然同样是异步调用方法,后者叫做“伪异步”更容易理解。
第一种方法,因为Task使用自动管理的线程池,可能新建了一个线程去执行异步方法,等待完成。
第二种方法,其实还是使用当前方法的线程(比如UI线程)去执行,只不过遇到async void 方法内部的await Task再进行异步。
一般情况下,异步方法尽量使用async task,而async void是一中“伪异步”的包装,比如一些事件调用的后台方法,无法直接使用Task的情况之下,使用async void包装真正的异步方法。
-------
如有错误请指教。