Насколько я понимаю, одна из основных задач, которые делают async и await, — это упрощают написание и чтение кода, но эквивалентно ли их использование созданию фоновых потоков для выполнения длительной логики?< /p>
Сейчас я пробую самый простой пример. Я добавил несколько комментариев. Можете ли вы мне это разъяснить?
// I don't understand why this method must be marked as `async`.
private async void button1_Click(object sender, EventArgs e)
{
Task access = DoSomethingAsync();
// task independent stuff here
// this line is reached after the 5 seconds sleep from
// DoSomethingAsync() method. Shouldn't it be reached immediately?
int a = 1;
// from my understanding the waiting should be done here.
int x = await access;
}
async Task DoSomethingAsync()
{
// is this executed on a background thread?
System.Threading.Thread.Sleep(5000);
return 1;
}
Подробнее здесь: https://stackoverflow.com/questions/144 ... -and-await
Как и когда использовать «async» и «await» ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение