线程

一个线程是可以其它部分独立地执行的程序的一部分。它可以与其他线程同时执行任务。多线程是一种使程序能够执行并发处理的功能,因此一次可以完成多个操作。

例如,你可以使用线程在后台更新计时器或计数器,同时在前台执行其他任务。

多线程应用程序对用户输入的响应速度更快,并且易于扩展,因为开发人员可以在工作负载增加时添加线程。

默认情况下,C#程序有一个线程 - 主程序线程。但是,可以创建辅助线程并用​​于与主线程并行执行代码。这种线程称为工作线程。

为了控制线程的操作,CLR 将一个函数委托给称为线程调度程序的操作系统。线程调度程序确保为所有线程分配正确的执行时间。它还会检查被阻塞或锁定的线程是否消耗大量 CPU 时间。

.NET Framework System.Threading 命名空间使得使用线程更容易。System.Threading 通过提供许多类和接口来启用多线程。除了为特定线程提供类型和类之外,它还定义了用于保存线程集合,计时器类等的类型。它还通过允许对共享数据的同步访问来提供支持。

ThreadSystem.Threading 命名空间中的主要类。其他类包括 AutoResetEventInterlockedMonitorMutexThreadPool

System.Threading 命名空间中的一些代表包括 ThreadStartTimerCallbackWaitCallback

System.Threading 命名空间中的枚举包括 ThreadPriorityThreadStateEventResetMode

在 .NET Framework 4 及更高版本中,通过 System.Threading.Tasks.ParallelSystem.Threading.Tasks.Task 类,并行 LINQ(PLINQ)System.Collections.Concurrent 命名空间中的新并发集合类以及基于任务的新编程模型,使多线程编程变得更加简单和简单。