C# 使用多线程的几种方式

news/2025/11/28 17:00:23/文章来源:https://www.cnblogs.com/longkui-site/p/19283408

C# 使用多线程的几种方式

原文链接:C# 使用多线程的几种方式 – 每天进步一点点

 

在C#编程中,经常会遇到多线程处理并发的操作,举个简单例子,如果一个wpf程序,你在main函数中写了一个死循环,那么你的界面就会直接卡死动不了,这个时候就需要使用多线程或者异步操作来解决这个问题。

C#提供了多种方式来创建和管理线程,这篇文章简单介绍下其中4种方式。

1.使用Thread类

System.Threading.Thread 类是.NET框架中最基本的线程创建方式。通过实例化Thread类并传递一个ThreadStart委托或者ParameterizedThreadStart委托(如果线程函数需要参数),可以启动一个新线程。

using System;
using System.Threading;class Program
{static void Main(){Thread threadJob = new Thread(DoJob);threadJob .Start();  //线程启动threadJob .Join(); // 等待线程完成}//启动线程后方法static void DoJob(){Console.WriteLine("线程运行中...");}
}
2.使用Task类(基于任务的异步模式)

从C# 4.0开始,引入了基于任务的异步模式(TAP),它使用System.Threading.Tasks.Task类来表示异步操作。Task类提供了更高级的抽象,允许更简洁的代码和更好的异常处理。

using System;
using System.Threading.Tasks;class Program
{static void Main(){Task task = Task.Run(() => DoWork());task.Wait(); // 等待任务完成}static void DoWork(){Console.WriteLine("任务运行中...");}
}
3.使用Task.Factory.StartNew方法

Task.Factory.StartNew 方法是另一种创建并启动任务的方式。与Task.Run相比,它提供了更多的配置选项,如指定任务的调度器、创建子任务等。

using System;
using System.Threading.Tasks;class Program
{static void Main(){Task task = Task.Factory.StartNew(() => DoWork());task.Wait(); // 等待任务完成}static void DoWork(){Console.WriteLine("通过Task.Factory启动的任务运行中...");}
}
4.使用异步方法

从C# 5.0开始,引入了asyncawait关键字,用于简化异步编程模型。这种方式不会直接创建新线程,而是在现有线程上进行异步操作,使得线程可以在等待I/O操作等耗时任务时不会被阻塞,提高了线程的利用率。

using System;
using System.Threading.Tasks;class Program
{static async Task Main() // 注意Main方法也可以标记为async{await DoWorkAsync(); // 使用await关键字等待异步任务完成}static async Task DoWorkAsync(){Console.WriteLine("异步方法开始执行...");await Task.Delay(1000); // 模拟耗时操作,如I/O请求等。Console.WriteLine("异步方法执行完成...");}
}
5.总结

以上四种方式各有优缺点,适用于不同的场景。Thread类提供了对线程的底层控制,但使用起来相对繁琐;Task类和Task.Factory.StartNew方法提供了更高级的抽象和更好的性能;而async/await则进一步简化了异步编程模型,使得代码更易读和维护。在实际开发中,应根据具体需求选择合适的方式。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/979888.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

初一数学

# -*- coding: utf-8 -*- from manim import * import sys import io# 设置标准输出编码 sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding=utf-8)class ZigzagGraph(Scene):def construct(self):# === 1. …

AI智能外呼如何助力法院减负?一文看懂技术带来的改变

在法院日益繁重的案件量与不断提升的公众服务需求面前,如何在保证司法严谨性的前提下,让信息传达更高效、让沟通更顺畅、让司法资源“花在刀刃上”,已经成为许多法院正在思考的问题。 传统通知方式的现实难点 在实际…

2025年电永磁夹具吸盘供应商权威推荐榜:CNC磁力夹具/机械手专用电控永磁吸盘/abb机器人吸盘源头厂家精选

在工业制造领域,电永磁夹具吸盘以其高效、节能、安全的特性,正逐步成为现代生产线上的关键装夹设备。 电永磁技术作为一种先进的磁力应用解决方案,通过电脉冲控制永磁材料的磁路,实现工件的快速夹持与释放,在无需…

2025美白淡斑面膜品牌Top5实测推荐!色斑暗黄党必看,有效去痘印产品

美白淡印面膜堪称 “护肤路上的拦路虎”:干皮敷完依旧缺水爆皮,油皮越敷越闷痘泛油,敏感肌碰美白款就泛红反黑,熬夜党淡痘印抗老始终 “白费力气”…… 很多人踩遍网红爆款坑后才明白,面膜的核心竞争力从不是宣传…

2025年果蔬保鲜冷库定做厂家权威推荐榜单:冷库安装/冷库铝排管‌/冷库设备‌源头厂家精选

在农产品冷链物流快速发展和果蔬保鲜技术要求持续提升的背景下,专业果蔬保鲜冷库定制市场需求显著增长。行业数据显示,2025年中国农产品冷链物流总额预计突破6万亿元,其中专业保鲜冷库建设投入占比达18%-22%。优质果…

软件安全 --- 安卓安全 之 动态加载

软件安全 --- 安卓安全 之 动态加载dex是可以在线动态加载进内存的,使得重要代码得以隐藏

DeepSeek-OCR - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

前瞻思考,收获未来

前瞻思考,收获未来 前瞻思考,收获未来当下,世界格局加速演变,发展命题日新月异,知识更新疾如旋踵,各领域的竞争也日趋激烈,大到一国一族,小至一家一人,若一味被动改变,只会疲于奔命,势必会渐渐被时代抛弃。…

精明投资者的2025购机策略机策略:聚焦纸杯机、纸盖机长期回报率,破解靠谱设备与服务迷思

现在大家对环保越来越重视,纸杯子、纸碗、纸餐盒这些可降解的包装用品,在餐饮、食品行业里越来越受欢迎。对于开工厂、做批发生意的朋友来说,一台好用的制杯机直接关系到生产效率、产品质量,甚至是赚钱多少。但选制…

实用指南:复原大唐3d项目测试版

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025年值得关注的纸杯机与纸碗机、纸盖机一体化解决方案提供商

现在大家对环保越来越重视,纸杯子、纸碗、纸餐盒这些可降解的包装用品,在餐饮、食品行业里越来越受欢迎。对于开工厂、做批发生意的朋友来说,一台好用的制杯机直接关系到生产效率、产品质量,甚至是赚钱多少。但选制…

从纸杯到纸盘全覆盖!2025 全伺服 / 超声波纸杯机 + 纸碗机 / 纸盖机靠谱制杯机推荐

早上买一杯现磨咖啡,手里捧着的纸质咖啡杯;下午茶时,奶茶店递来的定制款纸杯;甚至便利店的热饮、酒店的一次性水杯——这些日常离不开的纸质容器,背后都藏着一台关键设备:纸咖啡杯制造机。如今“禁塑令”在全球普…

2025年企业独栋招商哪家好?最新口碑测评揭晓,办公场地/企业独栋/园区企业独栋出售推荐排行榜

企业独栋招商市场现状分析 随着产业升级步伐加快,企业独栋作为集办公、研发、展示于一体的综合性空间,正成为众多企业总部选址的首选。与传统写字楼相比,企业独栋不仅提供独立的办公环境,更通过完善的配套设施和个…

2025最新宠物抓伤急救液品牌怎么选?葆爱堂专注宠物健康,宠物抓伤创面消毒液/宠物消杀,更专业,更安全

随着养宠人群规模的持续扩大,宠物抓伤应急处理已成为养宠家庭的重要需求。数据显示,我国城镇犬猫数量已突破1亿只,每年因宠物抓伤就医的案例超过300万起,专业防护产品的市场需求日益凸显。在2025年宠物健康防护领域…

Codeforces Round 1063 (Div. 2) 补题记录

CF2163 补题记录Codeforces Round 1063 (Div. 2) 补题记录 D - Diadrash 题目大意: 本题为交互题,存在一个 \([0, \ n - 1]\) 的排列 \(p\),以及 \(q\) 个区间。 每次询问 "\(? \ l \ r\)" 会返回区间 \…

从纸杯机到纸盘机!2025 全品类制杯机选购指南:全伺服 / 超声波款 + 纸碗机 / 纸盖机省本技巧

现在不管是喝奶茶、买咖啡,还是街头吃小吃、景区买饮品,一次性纸杯都是“刚需”——奶茶店离不开它装饮品,快餐店用它打包粥汤,摆摊卖冰粉也得靠它装货,甚至公司团建、家庭聚会都要备上。随着需求越来越大,光靠外…

2025最新宠物抓伤应急护理液品牌推荐!宠物抓伤消毒液/宠物消杀/宠物抓伤创面消毒液,专业宠物消杀品权威榜单发布及选择指南,守护爱宠与家人健康

随着养宠家庭数量持续增长,宠物抓伤处理成为日常养护的重要环节。宠物抓伤应急护理液作为预防感染、降低健康风险的关键产品,其安全性与有效性备受关注。本榜单基于杀菌效能、成分安全性、使用便捷性三大核心维度,结…

降低动态功耗的利器:Clock Gating 技术解析

在现代 IC(集成电路)设计中,功耗控制始终是一个重中之重的问题。随着工艺节点不断缩小,器件的开关频率提高,芯片中的动态功耗(dynamic power)占比越来越高。而在这些功耗中,时钟信号所驱动的负载通常非常大,因…

【IEEE出版 | EI检索】第七届国际科技创新学术交流大会暨新能源科学与电力工程国际学术会议(NESEE 2025)

新能源科学与电力工程国际学术会议(NESEE 2025)作为第七届国际科技创新学术交流大会分会场开展。大会将于2025年12月19-21日在中国广州隆重举行。【】 第七届国际科技创新学术交流大会暨新能源科学与电力工程国际学术…

DNNRegression(pytorch)

最近开始学习 pytroch,照着kaggle 简单实现优化了一个 DNN 需要搭建网络、把数据放入dataset,然后定义前向传播搭建net 手写 l2正则 loss 手写 early_stop import matplotlib.pyplot as plt import torch from matpl…