线程处理使 C# 程序能够执行并发处理,以便您可以同时执行多个操作。例如,您可以使用线程处理来监视用户输入,执行后台任务,以及处理并发输入流。System.Threading 命名空间提供支持多线程编程的类和接口,使您可以轻松地执行创建和启动新线程,同步多个线程,挂起线程以及中止线程等任务。
若要在 C# 代码中合并线程处理,只需创建一个将在主线程外执行的函数,并让一个新的 Thread 对象指向该函数即可。下面的代码示例在 C# 应用程序中创建一个新线程:
System.Threading.Thread newThread;
newThread = new System.Threading.Thread(anObject.AMethod);
下面的代码示例在 C# 应用程序中启动一个新线程:
newThread.Start();多线程处理可解决响应性和多任务的问题,但同时引入了资源共享和同步问题,因为根据中央线程调度机制,线程将在没有警告的情况下中断和继续。有关更多信息,请参见 线程同步 。有关概述信息,请参见 使用线程和线程处理 。
线程具有以下特点:
-
线程使 C# 程序能够执行并发处理。
-
.NET Framework 的 System.Threading 命名空间使线程更易于使用。
-
线程共享应用程序的资源。有关更多信息,请参见使用线程和线程处理。
有关更多信息,请参见 C# 语言规范中的以下各章节:
-
3.10 执行顺序
-
8.12 lock 语句
-
10.4.3 可变字段
-
10.7.1 类似字段的事件
-
任务
监视器同步技术示例
等待同步技术示例
参考
Mutex
概念
C# 编程指南
Mutex
监视器
互锁操作
AutoResetEvent
委托(C# 编程指南)
其他资源
Thread 类
如何:通过使用 Visual C# .NET 在多线程处理环境中同步对共享资源的访问