C#实现多线程的几种方式
创作时间:
作者:
@小白创作中心
C#实现多线程的几种方式
引用
1
来源
1.
https://www.cnblogs.com/Can-daydayup/p/18185545
多线程是C#中一个重要的概念,它允许在同一进程中同时运行多个线程,从而提高系统并发性、吞吐量和响应速度。本文将详细介绍C#中实现多线程的几种方式,包括使用Thread类、ThreadPool类、Task类和Parallel类,并通过具体代码示例帮助读者更好地理解这些实现方式。
前言
多线程是C#中一个重要的概念,多线程指的是在同一进程中同时运行多个线程的机制。多线程适用于需要提高系统并发性、吞吐量和响应速度的场景,可以充分利用多核处理器和系统资源,提高应用程序的性能和效率。
多线程常用场景
- CPU 密集型任务.
- I/O 密集型任务.
- 并发请求处理.
- 大数据处理等.
什么是进程?
进程(Process)是计算机中的一个执行中的程序,它是对正在运行的程序的抽象。一个进程包括了程序的代码、数据、堆栈以及其他操作系统所需的资源。
什么是线程?
线程(Thread)是进程中的一个执行单元,一个进程可以包含多个线程,它们共享进程的资源,但拥有独立的执行流程。
使用 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);
}
}
使用 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);
}
}
使用 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);
}
}
使用 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);
}
}
热门推荐
海尔集团:用《孙子兵法》智慧打造商业帝国
长江商学院EMBA:用《孙子兵法》提升企业战略智慧
无代码开发app只需这几步简单操作!
满溢传统之美 蛇年春晚落幕
看完这篇文章再刷一遍春晚!总导演于蕾揭秘节目里的惊艳细节
宜宾至重庆西C5568次列车最新时刻表及购票信息
《中国诗词大会》里的死亡称谓:从“崩”到“薨”的文化密码
“寿终正寝”:古代高寿老人去世的雅称及其文化内涵
福建土楼:世界遗产里的中国智慧
福建土楼打卡秘籍:拍出朋友圈爆赞照!
第二届世界汉学家大会推荐:福建土楼探秘之旅
探秘南靖土楼+云水谣古镇:自驾游新宠!
中华文化:孔子(Confucius)与《论语》(The Analects)
《封神榜》:一部中国古代神话小说的经典之作
李子柒春晚战袍惊艳四座,非遗高定展现文化自信
春节压岁钱:电子红包时代的新思考
十二个月的古风别称
用压岁钱开启孩子的财商之旅
维生素K2:心血管健康的新宠
维生素K2+D3:黄金组合守护你的健康!
维生素K2:脆皮年轻人的骨骼守护神
腾冲董官村:600多年历史的古村落
腾冲高黎贡山徒步攻略:五道溪精华路线详解
德阳灯会亮灯:48组大型灯组璀璨亮相,首日吸引上万游客
首个“中国咳嗽科普日”:揭秘咳嗽背后的真相
流感季必备:这些富含维C的水果帮你止咳
萝卜葱白VS红糖姜枣:传统食疗如何巧治咳嗽?
选赏宋徽宗赵佶在位铸钱 与王莽并誉钱法二圣
宋徽宗艺术造诣有多高?堪称史上皇帝第一人
毛泽东和萧子升的一次“行乞”游学