private void button1_Click(object sender, EventArgs e)//两个任务同步开始不影响主ui
{
Task.Run(() =>
{
Thread.Sleep(1000);
MessageBox.Show("素菜做好了");
});
Task.Run(() =>
{
Thread.Sleep(2000);
MessageBox.Show("荤菜做好了");
});
}
private async void button2_Click(object sender, EventArgs e)//等待任务完成
{
await Task.Run(() =>
{
Thread.Sleep(1000);
MessageBox.Show("素菜做好了");
Thread.Sleep(2000);
MessageBox.Show("荤菜做好了");
});
MessageBox.Show("吃饭");
}
private void button3_Click(object sender, EventArgs e)//等待多个任务完成
{
List<Task> ts = new List<Task>();
ts.Add(Task.Run(() =>
{
Thread.Sleep(1000);
}));
ts.Add(Task.Run(() =>
{
Thread.Sleep(1500);
}));
Task.WhenAll(ts).ContinueWith(t =>
{
MessageBox.Show("吃饭");
});
}
c# TASK线程操作
最新推荐文章于 2025-10-11 10:02:05 发布
1140

被折叠的 条评论
为什么被折叠?



