组件中的多线程处理
BackgroundWorker 组件实现了 System.Threading 命名空间中的某些线程处理功能;BackgroundWorker 组件为实现多线程处理功能提供了更为简便的方法。有关更多信息,请参见 BackgroundWorker 组件概述。
“多线程处理”或“自由线程处理”指的是一个程序同时执行多个操作线程的能力。作为多线程应用程序的一个示例,某个程序在一个线程上接收用户输入,在另一个线程上执行多种复杂的计算,并在第三个线程上更新数据库。在单线程应用程序中,用户可能会花费时间等待计算或数据库更新完成。而在多线程应用程序中,这些进程可以在后台进行,因此不会浪费用户时间。
多线程处理可以是组件编程中的一个非常强大的工具。通过编写多线程组件,您可以创建在后台执行复杂计算的组件,它们允许用户界面 (UI) 在计算的过程中自由地响应用户输入。
虽然多线程处理是一个强大的工具,但是要将其正确应用却比较困难。未能正确实现的多线程代码可能降低应用程序性能,或甚至导致应用程序冻结。下列主题将向您介绍多线程编程的一些注意事项和最佳做法。
.NET Framework 提供几个在组件中进行多线程处理的选项。System.Threading 命名空间中的功能是一个选项。基于事件的异步模式是另一个选项。BackgroundWorker 组件是对异步模式的实现;它提供封装在组件中以便于使用的高级功能。
本节内容
- 使用 System.Threading 对组件进行多线程编程
描述如何使用 System.Threading 命名空间来创建多线程组件。
参考
BackgroundWorker 类
使您可以在单独的专用线程上运行操作。Thread
提供 .NET Framework 参考中有关语法和成员的信息。
相关章节
使用基于事件的异步模式进行多线程编程
描述对具有异步功能的组件进行打包的标准化方法。Multithreading in Visual Basic
提供多个链接,这些链接指向多个有关通过 Visual Basic 使用多线程处理的主题。托管线程处理的最佳做法
提供使用托管线程处理功能的指南。
Topic | Location |
---|---|
“线程”示例 | C# 示例应用程序 |
“线程”示例 | C# 示例应用程序 |