C# 任务并行类库Parallel调用示例

这篇具有很好参考价值的文章主要介绍了C# 任务并行类库Parallel调用示例。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

写在前面

Task Parallel Library 是微软.NET框架基础类库(BCL)中的一个,主要目的是为了简化并行编程,可以实现在不同的处理器上并行处理不同任务,以提升运行效率。Parallel常用的方法有For/ForEach/Invoke三个静态方法。

实现代码

    public class ParallelTester
    {

        public static void ParallelTest01()
        {
            // 从1到9并行执行
            Parallel.For(1, 10, (i) =>
            {
                Console.WriteLine($"我是第{i}个, 执行时间是{ DateTime.Now.Second},{DateTime.Now.Millisecond}");
            });

            Console.WriteLine("1.Parallel.For 测试方法执行完毕");

            // 指定列表的并行执行
            var arr = new List<int>() { 1, 2, 3, 4, 5 };
            Parallel.ForEach(arr, i =>
            {
                Console.WriteLine($"我是第{i}个, 执行时间是{ DateTime.Now.Second},{DateTime.Now.Millisecond}");
            });

            Console.WriteLine("2.Parallel.ForEach 测试方法执行完毕");
            
            // 并行执行多个任务
            Parallel.Invoke(
               () => { Console.WriteLine($"并行任务1,线程Id:{Thread.CurrentThread.ManagedThreadId}"); },
               () => { Console.WriteLine($"并行任务2,线程Id:{Thread.CurrentThread.ManagedThreadId}"); },
               () => { Console.WriteLine($"并行任务3,线程Id:{Thread.CurrentThread.ManagedThreadId}"); }
            );
            Console.WriteLine("3.Parallel.Invoke 测试方法执行完毕");
        }

    }

运行结果

C# 任务并行类库Parallel调用示例,C#,c#,开发语言文章来源地址https://www.toymoban.com/news/detail-757111.html

到了这里,关于C# 任务并行类库Parallel调用示例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【C#】并行编程实战:使用 Visual Studio 调试任务

            并行编程可以提高应用程序的性能,但是调试起来会更困难,这一点在之前的章节中我们已经有了很直观的感受。对于程序而言,保证程序的正确性和保证性能同样重要。         本章将介绍可以在 Visual Studio 中的调试工具(包括 Thread 窗口、Tasks 窗口和 Con

    2024年02月15日
    浏览(32)
  • 17、并行网关(parallel gateway)

    并行网关(parallel gateway)是指可以同时执行所有输出路径,并且需要所有输入路径执行完毕汇总到网关后流程才往下流转的元素。 并行网关上的序列流即使有条件判断也会忽略。 并行网关分两部分: 叉子(fork): 用于并行任务开始 汇总(join):用于并行任务汇总。 假设社交

    2023年04月24日
    浏览(25)
  • Java Stream对象并行处理方法parallel()

            Stream.parallel() 方法是 Java 8 中 Stream API 提供的一种并行处理方式。在处理大量数据或者耗时操作时,使用 Stream.parallel() 方法可以充分利用多核 CPU 的优势,提高程序的性能。本文将从以下几个方面对 Stream.parallel() 进行详解。 什么是 Stream.parallel() 方法         

    2024年02月16日
    浏览(51)
  • opencv之并行计算多线程parallel_for_

    目录 一、前言 二、加速案例 三、代码分析               OpenCV提供了多线程处理的API。从OpenCV 4.5版本开始,它引入了对C++11标准的并行算法的支持。这意味着你可以使用多线程来加速你的OpenCV代码。在OpenCV中,利用parallel_for_接口实现并行加速。         先看一个案

    2024年02月03日
    浏览(28)
  • 【Linux】使用Bash和GNU Parallel并行解压缩文件

    在本教程中,我们将学习如何使用Bash脚本和GNU Parallel实现高效并行解压缩多个文件。这种方法在处理大量文件时可以显著加快提取过程。 先决条件 确保系统上已安装以下内容: Bash GNU Parallel 你可以使用以下命令在不同Linux系统上安装它们: 在Ubuntu上安装 在CentOS上安装 想象

    2024年02月04日
    浏览(30)
  • 每日一博 - MPP(Massively Parallel Processing,大规模并行处理)架构

    MPP(Massively Parallel Processing,大规模并行处理)架构是一种常见的数据库系统架构,主要用于提高数据处理性能。它通过将多个单机数据库节点组成一个集群,实现数据的并行处理。 在 MPP 架构中,MPP采用 非共享架构(Share Nothing) , 每个节点都拥有独立的磁盘存储和内存系

    2024年02月12日
    浏览(35)
  • torch分布式数据并行:torch.nn.parallel.DistributedDataParallel(DDP),代码书写步骤

    多进程做多卡训练; 目录 1 初始化进程组: 2 当前进程所能用到的GPU卡的名称 3 将数据集随机分配到不同的GPU上 4 将train_sampler传入DataLoader中 5 将数据进行拷贝 6 模型放到GPU上 7 执行命令 8 模型保存 9 加载模型 10 注意事项 代码编写流程: 1 初始化进程组: ‘nccl’ 指定GPU之

    2024年02月15日
    浏览(28)
  • Python 标准类库-并发执行之multiprocessing-基于进程的并行

    Python3.6 multiprocessing 是一个支持使用类似于线程模块的API派生进程的包。该包同时提供本地和远程并发,通过使用子进程而不是线程,有效地避开了全局解释器锁。因此, multiprocessing 模块允许程序员充分利用给定机器上的多个处理器。它同时在Unix和Windows上运行。 该模块还引

    2024年02月09日
    浏览(23)
  • C#调用barTender打印标签示例

    使用的电脑需要先安装BarTender       我封装成一个类   示例2:与上面一样的。

    2024年02月11日
    浏览(32)
  • C++调用C# dll成功示例

    一.准备C# dll类库 。生成CSLib.dll  二、写C++应用调用  1)需要把dll复制到运行目录下。(不然会提示找不到dll System.IO.FileNotFoundException:“未能加载文件或程序集“CSLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。系统找不到指定的文件) 2)设置\\\"公共语言运

    2024年02月14日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包