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

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

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

前言

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

多线程常用场景

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

什么是进程?

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

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

什么是线程?

线程(Thread)是进程中的一个执行单元,一个进程可以包含多个线程,它们共享进程的资源,但拥有独立的执行流程。jAE28资讯网——每日最新资讯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);            }        }

图片图片jAE28资讯网——每日最新资讯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);            }        }

图片图片jAE28资讯网——每日最新资讯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);            }        }

图片图片jAE28资讯网——每日最新资讯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);            }        }

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

GitHub开源地址

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

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

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

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

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

标签:
  • 热门焦点
  • 对标苹果的灵动岛 华为带来实况窗功能

    继苹果的灵动岛之后,华为也在今天正式推出了“实况窗”功能。据今天鸿蒙OS 4.0的现场演示显示,华为的实况窗可以更高效的展现出实时通知,比如锁屏上就能看到外卖、打车、银行
  • SpringBoot中使用Cache提升接口性能详解

    环境:springboot2.3.12.RELEASE + JSR107 + Ehcache + JPASpring 框架从 3.1 开始,对 Spring 应用程序提供了透明式添加缓存的支持。和事务支持一样,抽象缓存允许一致地使用各
  • 分享六款相见恨晚的PPT模版网站, 祝你做出精美的PPT!

    1、OfficePLUSOfficePLUS网站旨在为全球Office用户提供丰富的高品质原创PPT模板、实用文档、数据图表及个性化定制服务。优点:OfficePLUS是微软官方网站,囊括PPT模板、Word模
  • 虚拟键盘 API 的妙用

    你是否在遇到过这样的问题:移动设备上有一个固定元素,当激活虚拟键盘时,该元素被隐藏在了键盘下方?多年来,这一直是 Web 上的默认行为,在本文中,我们将探讨这个问题、为什么会发生
  • 小红书1周涨粉49W+,我总结了小白可以用的N条涨粉笔记

    作者:黄河懂运营一条性教育视频,被54万人&ldquo;珍藏&rdquo;是什么体验?最近,情感博主@公主是用鲜花做的,火了!仅仅凭借一条视频,光小红书就有超过128万人,为她疯狂点赞!更疯狂的是,这
  • 签约井川里予、何丹彤,单视频点赞近千万,MCN黑马永恒文希快速崛起!

    来源:视听观察永恒文希传媒作为一家MCN公司,说起它的名字来,可能大家会觉得有点儿陌生,但是说出来下面一串的名字之后,或许大家就会感到震惊,原来这么多网红,都签约这家公司了。根
  • 消费结构调整丨巨头低价博弈,拼多多还卷得动吗?

    来源:征探财经作者:陈香羽随着流量红利的退潮,电商的存量博弈越来越明显。曾经主攻中高端与品质的淘宝天猫、京东重拾&ldquo;低价&rdquo;口号。而过去与他们错位竞争的拼多多,靠
  • 大厂卷向扁平化

    来源:新熵作者丨南枝 编辑丨月见大厂职级不香了。俗话说,兵无常势,水无常形,互联网企业调整职级体系并不稀奇。7月13日,淘宝天猫集团启动了近年来最大的人力制度改革,目前已形成一
  • 苹果140W USB-C充电器:采用氮化镓技术

    据10 月 30 日 9to5 Mac 消息报道,当苹果推出新的 MacBook Pro 2021 时,该公司还推出了新的 140W USB-C 充电器,附赠在 MacBook Pro 16 英寸机型的盒子里,也支
Top