转载至:https://blog.gkarch.com/topic/threading.html
C# 中的多线程
这个专题翻译自 Joseph Albahari 的 Threading in C#。
它分为 5 个部分,深入浅出地讲述多线程在 C# 中的使用。它可以帮助你解决一些棘手的问题,例如:线程安全、何时使用 Abort、等待句柄 vs Wait 和 Pulse、使用线程池、 BackgroundWorker、内存屏障以及非阻塞同步构造。并且详细介绍了 Framework 4.0 中加入的 PLINQ、Parallel 以及任务并行等概念及其使用方法。
-
第 1 部分 - 基础知识
- 介绍 C# 中多线程的基础知识,包括多线程的概念、创建启动线程及线程池的使用。 第 2 部分 - 同步基础
- 介绍 C# 中线程同步的基础知识,包括同步的概念、同步构造(主要介绍锁构造和信号构造)以及线程安全。 第 3 部分 - 使用多线程
-
介绍 C# 中多线程的使用,包括基于事件的异步模式(EAP)、
BackgroundWorker
的使用、线程中断和中止的概念、取消标记、延迟初始化、线程局部存储(TLS)以及定时器。
第 4 部分 - 高级多线程
-
介绍 C# 中多线程的高级技术,包括非阻塞同步、使用
Wait
和Pulse
进行信号同步、读写锁、线程的挂起和恢复以及中止线程的几种方法。
第 5 部分 - 并行编程
-
介绍 C# 中的并行编程,包括 PLINQ、
Parallel
类以及Task
(任务并行)。
另外,我也会在多线程相关概念汇总中持续整理相关概念,让理解更清晰准确。