System.Threading 命名空间的类、结构和接口
2017-12-19 15:57
204 查看
李国帅 编辑2007-3-15 11:12
System.Threading 命名空间提供一些使得可以进行多线程编程的类和接口。除同步线程活动和访问数据的类(Mutex、Monitor、Interlocked、AutoResetEvent 等)外,此命名空间还包含一个 ThreadPool 类(它允许用户使用系统提供的线程池)和一个 Timer 类(它在线程池线程上执行回调方法)。Interlocked只是锁定数据对象,而mutex,ReaderWriterLock,Monitor则是锁定一个执行语句,其他线程都要暂停直到这些语句完成执行。
线程池ThreadPool可以防止调用sleep产生的浪费,只需要一个工作线程就可以处理在线程池中的sleep。
System.Threading 命名空间提供一些使得可以进行多线程编程的类和接口。除同步线程活动和访问数据的类(Mutex、Monitor、Interlocked、AutoResetEvent 等)外,此命名空间还包含一个 ThreadPool 类(它允许用户使用系统提供的线程池)和一个 Timer 类(它在线程池线程上执行回调方法)。Interlocked只是锁定数据对象,而mutex,ReaderWriterLock,Monitor则是锁定一个执行语句,其他线程都要暂停直到这些语句完成执行。
线程池ThreadPool可以防止调用sleep产生的浪费,只需要一个工作线程就可以处理在线程池中的sleep。
类
类 | 说明 |
AutoResetEvent | 通知正在等待的线程已发生事件。无法继承此类。 |
Interlocked | 为多个线程共享的变量提供原子操作。 |
ManualResetEvent | 通知一个或多个正在等待的线程已发生事件。无法继承此类。 |
Monitor | 提供同步对对象的访问的机制。 (临界区) |
Mutex | 同步基元也可用于进程间同步。 |
ReaderWriterLock | 定义支持单个写线程和多个读线程的锁。 |
RegisteredWaitHandle | 表示在调用 RegisterWaitForSingleObject 时已注册的句柄。无法继承此类。 |
SynchronizationLockException | 当某个方法请求调用方拥有给定 Monitor 上的锁时将引发该异常,而且由不拥有该锁的调用方调用此方法。 |
Thread | 创建并控制线程,设置其优先级并获取其状态。 |
ThreadAbortException | 在对 Abort 方法进行调用时引发的异常。无法继承此类。 |
ThreadExceptionEventArgs | 为 ThreadException 事件提供数据。 |
ThreadInterruptedException | 中断处于等待状态的 Thread 时引发的异常。 |
ThreadPool | 提供一个线程池,该线程池可用于发送工作项、处理异步 I/O、代表其他线程等待以及处理计时器。 |
ThreadStateException | 当 Thread 处于对方法调用无效的 ThreadState 时引发的异常。 |
Timeout | 包含用于指定无限长的时间的常数。无法继承此类。 |
Timer | 提供以指定的时间间隔执行方法的机制。无法继承此类。 |
WaitHandle | 封装等待对共享资源的独占访问权的操作系统特定的对象。 |
结构
结构 | 说明 |
LockCookie | 定义实现单个编写器/多个阅读器语义的锁。这是值类型。 |
NativeOverlapped | 提供一种显式布局,它在非托管代码中可见,并将具有与 Win32 |
OVERLAPPED | 结构相同的布局且在结尾有附加保留的字段。 |
委托
委托 | 说明 |
IOCompletionCallback | 当 I/O 操作在线程池上完成时接收错误代码、字节数和重叠值类型。 |
ThreadExceptionEventHandler | 表示将处理 Application 的 ThreadException 事件的方法。 |
ThreadStart | 表示在 Thread 上执行的方法。 |
TimerCallback | 表示处理来自 Timer 的调用的方法。 |
WaitCallback | 表示线程池线程要执行的回调方法。 |
WaitOrTimerCallback | 表示当 WaitHandle 超时或终止时要调用的方法。 |
枚举
枚举 说明 | |
ApartmentState | 指定 Thread 的单元状态。 |
ThreadPriority | 指定 Thread 的调度优先级。 |
ThreadState | 指定 Thread 的执行状态。 |
相关文章推荐
- System.Collections.Generic 命名空间接口、结构
- C# 命名空间(namespace),接口(interface),类(class),结构(struct)
- 2.1 System.Threading 命名空间
- C#学习常用命名空间【2000】---System.Threading
- ADO.NET(一) 空间 ADO.NET结构 命名空间(车延禄) System.Data—— 所有的一般数据访问类 S(转载)
- 背水一战 Windows 10 (122) - 其它: 通过 Windows.System.Profile 命名空间下的类获取信息, 查找指定类或接口的所在程序集的所有子类和子接口
- System.Threading 命名空间
- 《学习笔记》System.Collections.Generic 命名空间 HashSet<T>
- 解决 命名空间"system.web"中不存在类型或命名空间名称security
- 引用了System.Configuration命名空间,却找不到ConfigurationManager类
- 积少成多Flash(2) - ActionScript 3.0 基础之包、类、包外类、命名空间、属性、方法、接口和继承
- 命名空间"system.web"中不存在类型或命名空间名称security"错误解决方
- 重命名表空间rename(非system)
- DataContractJsonSerializer是在System.ServiceModel.Web.dll中,但命名空间却是System.Runtime.Serialization.Json。
- 使用System.Draming 命名空间绘制图形
- System.Collections.Generic 命名空间1
- ASP.NET#命名空间"System.Data"中不存在类型或命名空间名称"Linq"(是否缺少程序集引用?)
- using System.Linq命名空间无法引用!的解决方案
- 找不到命名空间命名空间:System.Windows.Forms
- 命名空间"system.web"中不存在类型或命名空间名称security