组件中的多线程处理

更新:2007 年 11 月

BackgroundWorker 组件实现了 System.Threading 命名空间中的某些线程处理功能;BackgroundWorker 组件为实现多线程处理功能提供了更为简便的方法。有关更多信息,请参见 BackgroundWorker 组件概述

“多线程处理”或“自由线程处理”指的是一个程序同时执行多个操作线程的能力。作为多线程应用程序的一个示例,某个程序在一个线程上接收用户输入,在另一个线程上执行多种复杂的计算,并在第三个线程上更新数据库。在单线程应用程序中,用户可能会花费时间等待计算或数据库更新完成。而在多线程应用程序中,这些进程可以在后台进行,因此不会浪费用户时间。

多线程处理可以是组件编程中的一个非常强大的工具。通过编写多线程组件,您可以创建在后台执行复杂计算的组件,它们允许用户界面 (UI) 在计算的过程中自由地响应用户输入。

虽然多线程处理是一个强大的工具,但是要将其正确应用却比较困难。未能正确实现的多线程代码可能降低应用程序性能,或甚至导致应用程序冻结。下列主题将向您介绍多线程编程的一些注意事项和最佳做法。

.NET Framework 提供几个在组件中进行多线程处理的选项。System.Threading 命名空间中的功能是一个选项。基于事件的异步模式是另一个选项。BackgroundWorker 组件是对异步模式的实现;它提供封装在组件中以便于使用的高级功能。

本节内容

参考

  • BackgroundWorker
    使您可以在单独的专用线程上运行操作。

  • Thread
    提供 .NET Framework 参考中有关语法和成员的信息。

相关章节

Topic Location
“线程”示例 C# 示例应用程序
“线程”示例 C# 示例应用程序

请参见

其他资源

组件创作

异步编程设计模式