当前位置:首页 > 科技  > 软件

C#实现多线程的几种方式,你知道几种?

来源: 责编: 时间:2024-05-11 09:21:46 313观看
导读前言多线程是C#中一个重要的概念,多线程指的是在同一进程中同时运行多个线程的机制。多线程适用于需要提高系统并发性、吞吐量和响应速度的场景,可以充分利用多核处理器和系统资源,提高应用程序的性能和效率。多线程常用

前言

多线程是C#中一个重要的概念,多线程指的是在同一进程中同时运行多个线程的机制。多线程适用于需要提高系统并发性、吞吐量和响应速度的场景,可以充分利用多核处理器和系统资源,提高应用程序的性能和效率。ux628资讯网——每日最新资讯28at.com

多线程常用场景

  • CPU 密集型任务.
  • I/O 密集型任务.
  • 并发请求处理.
  • 大数据处理等.

什么是进程?

进程(Process)是计算机中的一个执行中的程序,它是对正在运行的程序的抽象。一个进程包括了程序的代码、数据、堆栈以及其他操作系统所需的资源。ux628资讯网——每日最新资讯28at.com

图片图片ux628资讯网——每日最新资讯28at.com

什么是线程?

线程(Thread)是进程中的一个执行单元,一个进程可以包含多个线程,它们共享进程的资源,但拥有独立的执行流程。ux628资讯网——每日最新资讯28at.com

使用 Thread 类

public static void ThreadMethod()        {            var newThread = new Thread(WorkerMethod);            newThread.Start();            for (int i = 0; i < 8; i++)            {                Console.WriteLine($"ThreadMethod 主线程开始工作:{i}");                Thread.Sleep(100);            }        }                private static void WorkerMethod()        {            for (int i = 0; i < 8; i++)            {                Console.WriteLine($"WorkerMethod 辅助线程开始工作:{i}");                Thread.Sleep(100);            }        }

图片图片ux628资讯网——每日最新资讯28at.com

使用 ThreadPool 类

public static void ThreadPoolMethod()        {            ThreadPool.QueueUserWorkItem(o => WorkerMethod());            for (int i = 0; i < 8; i++)            {                Console.WriteLine($"ThreadPoolMethod 主线程开始工作:{i}");                Thread.Sleep(100);            }        }                private static void WorkerMethod()        {            for (int i = 0; i < 8; i++)            {                Console.WriteLine($"WorkerMethod 辅助线程开始工作:{i}");                Thread.Sleep(100);            }        }

图片图片ux628资讯网——每日最新资讯28at.com

使用 Task 类

public static void TaskMethod()        {            Task.Run(() => WorkerMethod());            for (int i = 0; i < 8; i++)            {                Console.WriteLine($"TaskMethod 主线程开始工作:{i}");                Task.Delay(100).Wait();            }        }                private static void WorkerMethod()        {            for (int i = 0; i < 8; i++)            {                Console.WriteLine($"WorkerMethod 辅助线程开始工作:{i}");                Thread.Sleep(100);            }        }

图片图片ux628资讯网——每日最新资讯28at.com

使用 Parallel 类

public static void ParallelMethod()        {            Parallel.Invoke(WorkerMethod, WorkerMethodOther1, WorkerMethodOther2);        }                private static void WorkerMethod()        {            for (int i = 0; i < 8; i++)            {                Console.WriteLine($"WorkerMethod 辅助线程开始工作:{i}");                Thread.Sleep(100);            }        }        private static void WorkerMethodOther1()        {            for (int i = 0; i < 8; i++)            {                Console.WriteLine($"WorkerMethodOther1 辅助线程开始工作:{i}");                Thread.Sleep(100);            }        }        private static void WorkerMethodOther2()        {            for (int i = 0; i < 8; i++)            {                Console.WriteLine($"WorkerMethodOther2 辅助线程开始工作:{i}");                Thread.Sleep(100);            }        }

图片图片ux628资讯网——每日最新资讯28at.com

GitHub开源地址

https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetStudy.mdux628资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-87994-0.htmlC#实现多线程的几种方式,你知道几种?

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 一个用Rust编写的开源代码编辑器-Zed:开箱即用的远程协作编程能力

下一篇: .NET Core 8 部署在 IIS 上的详细指南

标签:
  • 热门焦点
  • K60至尊版狂暴引擎2.0加持:超177万跑分斩获性能第一

    Redmi的后性能时代战略发布会今天下午如期举办,在本次发布会上,Redmi公布了多项关于和联发科的深度合作,以及新机K60 Ultra在软件和硬件方面的特性,例如:“K60 至尊版,双芯旗舰
  • vivo TWS Air开箱体验:真轻 臻好听

    在vivo S15系列新机的发布会上,vivo的最新款真无线蓝牙耳机vivo TWS Air也一同发布,本次就这款耳机新品给大家带来一个简单的分享。外包装盒上,vivo TWS Air保持了vivo自家产
  • 5月安卓手机好评榜:魅族20 Pro夺冠

    性能榜和性价比榜之后,我们来看最后的安卓手机好评榜,数据来源安兔兔评测,收集时间2023年5月1日至5月31日,仅限国内市场。第一名:魅族20 Pro好评率:97.50%不得不感慨魅族老品牌还
  • 把LangChain跑起来的三个方法

    使用LangChain开发LLM应用时,需要机器进行GLM部署,好多同学第一步就被劝退了,那么如何绕过这个步骤先学习LLM模型的应用,对Langchain进行快速上手?本片讲解3个把LangChain跑起来
  • 大厂卷向扁平化

    来源:新熵作者丨南枝 编辑丨月见大厂职级不香了。俗话说,兵无常势,水无常形,互联网企业调整职级体系并不稀奇。7月13日,淘宝天猫集团启动了近年来最大的人力制度改革,目前已形成一
  • AMD的AI芯片转单给三星可能性不大 与台积电已合作至2nm制程

    据 DIGITIMES 消息,英伟达 AI GPU 出货逐季飙升,接下来 AMD MI 300 系列将在第 4 季底量产。而半导体业内人士表示,近日传出 AMD 的 AI 芯片将转单给
  • 质感不错!OPPO K11渲染图曝光:旗舰IMX890传感器首次下放

    一直以来,OPPO K系列机型都保持着较为均衡的产品体验,历来都是2K价位的明星机型,去年推出的OPPO K10和OPPO K10 Pro两款机型凭借各自的出色配置,堪称有
  • OPPO Reno10 Pro英雄联盟定制礼盒公布:萨勒芬妮同款配色梦幻十足

    5月24日,OPPO推出了全新的OPPO Reno 10系列,包含OPPO Reno10、OPPO Reno10 Pro和OPPO Reno10 Pro+三款新机,全系标配了超光影长焦镜头,是迄今为止拍照
  • “买真退假” 这种“羊毛”不能薅

    □ 法治日报 记者 王春   □ 本报通讯员 胡佳丽  2020年初,还在上大学的小东加入了一个大学生兼职QQ群。群主&ldquo;七王&rdquo;在群里介绍一些刷单赚
Top