Task.Run()任务执行

时间:2022-12-18 05:04:03

1)Task本身就是异步执行的(4.5的那个类)。

2)控制数量和终止线程问题可以考虑这个模式:

static async void RunAsync()
{
CancellationTokenSource ts = new CancellationTokenSource();
CancellationToken c = ts.Token; await Task.Run(() =>
{
//此处放置你的任务…… },c).ContinueWith
((t) =>
{
//继续你的任务……
},c); c.Register(() =>
{
//当全部Task终止之后,请在此处逐一终止全部的线程
});
//停止全部活动
ts.Cancel();
}