线程处理(C# 编程指南)

更新:2007 年 11 月

线程处理使 C# 程序能够执行并发处理,以便您可以同时执行多个操作。例如,您可以使用线程处理来监视用户输入,执行后台任务,以及处理并发输入流。System.Threading 命名空间提供支持多线程编程的类和接口,使您可以轻松地执行创建和启动新线程,同步多个线程,挂起线程以及中止线程等任务。

若要在 C# 代码中合并线程处理,请创建一个将在主线程外执行的函数,并让一个新的 Thread 对象指向该函数。下面的代码示例在 C# 应用程序中创建一个新线程:

System.Threading.Thread newThread;
newThread = new System.Threading.Thread(anObject.AMethod);

下面的代码示例在 C# 应用程序中启动一个新线程:

newThread.Start();

多线程处理可解决响应性和多任务的问题,但同时引入了资源共享和同步问题,因为根据对机制进行调度的中央线程,线程将在没有警告的情况下中断和继续。有关更多信息,请参见线程同步(C# 编程指南)。有关概述信息,请参见使用线程和线程处理

概述

线程具有以下特点:

  • 线程使 C# 程序能够执行并发处理。

  • .NET Framework 的 System.Threading 命名空间使线程更易于使用。

  • 线程共享应用程序的资源。有关更多信息,请参见 使用线程和线程处理

相关章节

有关更多信息,请参见下列主题:

C# 语言规范

有关更多信息,请参见 C# 语言规范中的以下各章节:

  • 3.10 执行顺序

  • 8.12 lock 语句

  • 10.5.3 可变字段

  • 10.8.1 类似字段的事件

请参见

任务

监视器同步技术示例

等待同步技术示例

概念

C# 编程指南

Mutex

监视器

互锁操作

AutoResetEvent

参考

Thread

Mutex

委托(C# 编程指南)

其他资源

如何:通过使用 Visual C# .NET 在多线程处理环境中同步对共享资源的访问