首页 > 其他分享 >Task 带参数和返回值的多线程调用

Task 带参数和返回值的多线程调用

时间:2023-01-09 14:44:34浏览次数:46  
标签:Task tasks List taskList new var 返回值 多线程

static void Main(string[] args)
        {

            // 无参数异步
            var tasks = new List<Task>();
            for (int i = 0; i < 5000; i++)
            {
                tasks.Add(Task.Run(() => { Console.WriteLine(i); }));
            }
            Task.WaitAll(tasks.ToArray());

            // 带参数异步
            var taskList = new List<Task<List<int>>>();
            for (int i = 0; i < 5000; i++)
            {
                taskList.Add(Task.Factory.StartNew(state => { 
                    var value= state as int?;
                    return new List<int> { value ?? 0 };
                },i));
            }
            Task.WaitAll(taskList.ToArray());

            List<int> list = new List<int>();
            foreach (var item in taskList)
            {
                list.AddRange(item.GetAwaiter().GetResult());
            }
            Console.ReadKey();
        }

  

标签:Task,tasks,List,taskList,new,var,返回值,多线程
From: https://www.cnblogs.com/sportsky/p/17037002.html

相关文章

  • C++ 返回值优化RVO
    目录按值返回返回值优化计算性构造函数关闭RVO参考返回值优化(ReturnValueOptimization,简称RVO)是通过对源代码进行转换、消除对象的创建来实现加速程序,提升程序性能的......
  • 36 多线程 知识点
    //了解进程//进程(Process)是计算机中的程序关于某数据集合上的一次运行活动//是系统进行资源分配和调度的基本单位,是操作系统结构的基础//说人话:打开一个应用程序就是在......
  • 多线程
    多线程一、创建方式:1.继承Thread类(重点)2.实现Runnable接口(重点)3.实现Callable接口(了解)二、.Lamda表达式1.简洁代码2.避免匿名内部类定义过多3.关键:函数式接口:一个接口只包......
  • 函数---函数参数和返回值
    函数---函数参数和返回值标签(空格分隔):python目录函数---函数参数和返回值1,函数1.1数学定义1.2Python函数1.3函数的作用1.4函数的分类2,函数定义3,函数调用4,函数参数4.1......
  • 使用ThreadPoolExecutor and schedule进行创建线程池(多线程-定时任务-数据同步-任务队
    使用ThreadPoolExecutorandschedule进行创建线程池(多线程-定时任务-数据同步-任务队列)#使用ThreadPoolExecutorandschedule进行创建线程池(多线程-定时任务-数据同步-......
  • java多线程知识点总结
    一、线程的三种创建方法1-1继承Thread继承thread方法然后重写run方法,在用start开启线程。代码实现:Threadt=newThread(){@Overridepu......
  • C++ - 多线程
    1.多线程传统的C++(C++11之前)中并没有引入线程这个概念,在C++11出来之前,如果我们想要在C++中实现多线程,需要借助操作系统平台提供的API,比如Linux的<pthread.h>,或者windows下......
  • 多线程的事务回滚问题
    多线程的事务回滚问题环境要求1.mybatis-plus或mybatis2.支持单表的增删改查3.书写工具类将集合平分,获取线程池importjava.util.ArrayList;importjava.util.List;......
  • 一文搞定Spring Task
    今天和大家分享下SpringTask这个知识点,主要通过下面6个点来展开描述,希望能够帮助到大家。1、什么是定时任务2、入门案例3、Corn表达式4、Corn实战案例5、@Scheduled......
  • p24-p25参数返回值局部变量以及堆排序代码实现
    函数的返回值8位(一个字节)则放到al16位放ax32位放eax64位放raxoffset偏移(可看作一个具体的地址参数传递的办法:1.寄存器2.堆栈整数类型的参数,一律使用int类型:无论......