线程处理对象和功能

更新:2007 年 11 月

.NET Framework 提供了许多有助于您创建和管理多线程应用程序的对象。托管线程由 Thread 类表示。ThreadPool 类提供了创建和管理多线程后台任务的简便方法。BackgroundWorker 类为与用户界面交互的任务提供相同的功能。Timer 类按固定的时间间隔执行后台任务。

此外,还有许多用于同步线程活动的类,包括 .NET Framework 2.0 版中引入的 SemaphoreEventWaitHandle 类。同步基元概述中对这些类的功能进行了比较。

本节内容

  • 托管线程池
    解释 ThreadPool 类,该类使您能够请求某一线程执行任务而不必亲自完成任何线程管理工作。

  • 计时器
    解释如何使用 Timer 指定要在指定时间调用的委托。

  • 监视器
    解释如何使用 Monitor 类来同步对成员的访问或生成自己的线程管理类型。

  • 等待句柄
    介绍 WaitHandle 类,它是事件等待句柄、mutex 和信号量的抽象基类,可以用于等待多个同步事件。

  • EventWaitHandle、AutoResetEvent 和 ManualResetEvent
    介绍托管事件等待句柄,这些句柄用于通过发送信号和等待信号来同步线程活动。

  • Mutex
    解释如何使用 Mutex 来同步对对象的访问或生成自己的同步机制。

  • 互锁操作
    解释如何使用 Interlocked 类来递增或递减值并在单个原子操作中存储该值。

  • 读取器/编写器锁
    定义实现单个编写器/多个读取器语义的锁。

  • 信号量
    介绍 Semaphore 对象并说明如何使用这些对象来控制对有限资源的访问。

  • 同步基元概述
    比较为锁定和同步托管线程而提供的 .NET Framework 类的功能。

参考

  • Thread
    提供 Thread 类的参考文档,该类表示托管线程(无论它是来自非托管代码还是在托管应用程序中创建的)。

  • BackgroundWorker
    启用与用户界面交互的后台任务,通过用户界面线程上引发的事件进行通信。

相关章节

  • 异步文件 I/O
    描述 I/O 异步完成端口如何使用线程池以便仅在输入/输出操作完成时才要求处理。