我对异步编程的方式有疑问并等待.我知道当方法是异步时你可以使用await来等待特定代码的执行,但我想了解更多.
所以我有一个具体的问题:
想象一下,我有一个方法:
public async void Starter() { string username = await GetUserNameFromDBAsync(); bool updated = await UpdateUserTown(); } public async static TaskGetUserNameFromDBAsync() { using(DBContext context = new DBContext()) { return await context.User.FindByIdAsync(currentid).Name; } } public async static Task UpdateUserTown() { using(DBContext context = new DBContext()) { User user = await context.User.FindUserByIDAsync(currentid); user.Town="New Town"; try { context.SaveChangesAsync(); } catch(Exception ex) {return false} return true; } }
好的做这个代码,虽然我在任何地方都使用异步,但是我必须等待...所以基本上对于性能而言,它将完全相同,如果我将删除所有这些异步并等待并且没有...
或许我想念一些东西?