在 C# 中,使用 `async` 和 `await` 关键字可以创建异步方法。异步方法不会阻塞当前线程,允许程序在等待耗时操作的同时继续执行其他任务。在你的代码中,`public async void Start()` 是一个异步方法的声明。
然而,与同步方法不同,`await` 关键字会将控制权返回给调用方,允许其他操作继续执行,直到被 `await` 的异步操作完成。因此,虽然 `Start` 方法是异步声明,但它本身并不会阻塞程序的执行,而是在遇到 `await` 处将执行流程挂起,等待 `await` 后面的异步操作完成。
所以,`public async void Start()` 并不等同于同步方法,因为它的执行过程在遇到 `await` 处会暂停,允许其他任务继续执行。如果你希望在异步方法内等待异步操作完成,并在其完成后执行后续操作,你需要在适当的地方使用 `await` 关键字。这就是异步方法的主要优势之一:在等待 I/O 操作或其他耗时操作时,它们不会阻塞 UI 或其他关键任务。
标签:异步,void,await,Start,操作,async,方法 From: https://blog.51cto.com/u_15825922/7226296