Task.Run()任务执行

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();
        }

 

posted @ 2018-12-09 21:26  沙耶  阅读(5544)  评论(0编辑  收藏  举报