更新:2007 年 11 月
本示例说明了 ThreadPool 类的用法。该示例对异步方法调用进行排队,此异步方法调用由公共语言运行库管理下的线程池中的线程执行。
有关使用这些示例的更多信息,请参见下面的主题:
使用命令提示生成示例
- 打开命令提示窗口,然后定位到该示例的语言特定子目录之一。 
- 根据所选的编程语言,在命令行中键入 msbuild PoolsCS.sln 或 msbuild PoolsVB.sln。 
使用 Visual Studio 生成示例
- 打开 Windows 资源管理器,然后定位到该示例的语言特定子目录之一。 
- 根据所选择的编程语言,双击 PoolsCS.sln 或 PoolsVB.sln 的图标,从而在 Visual Studio 中打开该文件。 
- 在“生成”菜单上单击“生成解决方案”。 
运行示例
- 使用命令提示定位到包含生成的可执行文件的目录。 
- 在命令行上键入 AsyncMethod.exe。 .gif) 说明: 说明:- 此示例生成一个控制台应用程序。您必须在命令提示窗口中启动它才能查看相应的输出。 
备注
此示例使用队列来管理异步方法调用。被调用方法“执行某种工作”,然后设置指示工作已完成的事件。主线程等待该事件,然后退出。
下面带项目符号的内容简要介绍本示例使用的类和技术:
- 线程处理 - ThreadPool 编写托管代码时,建议开发人员尽可能使用 QueueUserWorkItem 方法来实现异步方法调用。此示例演示此类型执行异步行为的简单用法。
 
- 线程同步 - AutoResetEvent 此示例的主线程等待 AutoResetEvent 对象,直到异步方法对其进行设置为止。异步方法在完成其工作后调用 Set 方法。
 
- 委托 - WaitCallback 用于创建一个类型安全的回调方法,供 ThreadPool 类使用。
 
有关线程同步的更多信息,请参见源代码文件中的注释。