У меня есть код winform, который запускается после нажатия кнопки:
void button1_Click(object sender, EventArgs e)
{
AAA();
}
async Task BBB( int delay)
{
await Task.Delay(TimeSpan.FromSeconds(delay));
MessageBox.Show("hello");
}
async Task AAA()
{
var task1 = BBB(1); // <--- notice delay=1;
var task2 = BBB(1); // <--- notice delay=1;
var task3 = BBB(1); // <--- notice delay=1;
await Task.WhenAll(task1, task2, task3);
}
Вопрос:
Почему я вижу один MessageBox в то время, когда delay=1
:
Но если я изменю задержку на: 1,2,3
-
var task1 = BBB(1);
var task2 = BBB(2);
var task3 = BBB(3);
Я вижу - 3 ящика сообщений, даже не щелкая на любом ящике сообщений?
- Благодаря @Noseratio для указав это поведение на первом месте.