taskFactory

Posted jeely

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了taskFactory相关的知识,希望对你有一定的参考价值。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 多线程

    class Program
    
        static void Main(string[] args)
        
            //任务工厂
            TaskFactory taskFactory = new TaskFactory();
            //任务集
            List<Task> taskList = new List<Task>();
            for (int i = 0; i < 33; i++)
            
                //创建并启动任务
                Task aTask = taskFactory.StartNew(f => Console.WriteLine(f + i.ToString()), "tt");
                //塞入任务集
                taskList.Add(aTask);
            
            //阻止主线程,等待子线程全部完成
            Task.WaitAll(taskList.ToArray());//给个任务集
            Task.WaitAny(taskList.ToArray());

            //不阻止主,等待子线程全部完成后,调用一个委托(热线程),有用!
            taskFactory.ContinueWhenAll(
                taskList.ToArray(),         //任务集
                r => Console.WriteLine("任务全部完成啦!"));
        
    

  

以上是关于taskFactory的主要内容,如果未能解决你的问题,请参考以下文章

taskFactory

c# TaskFactory ContinueWhenAll 在所有任务完成之前意外运行

《CLR via C#》之线程处理——线程池与任务

如何在超时后取消任务等待

微信小程序代码片段

VSCode自定义代码片段——CSS选择器