Silverlight 应用开发中的多线程、资源管理技巧
1. 多线程与 UI 更新
在 Silverlight 应用开发中,多线程操作与 UI 更新是常见需求。BackgroundWorker 类支持进度报告和取消操作,而 Dispatcher 类则适用于在无需进度报告和取消功能时,简单地将后台工作排队。
Silverlight 的 .NET 框架包含 System.Threading 命名空间,其中的类可用于管理线程池、启动线程和同步线程,这与完整版本的 .NET 框架类似。不过,和大多数 UI 编程模型一样,从后台线程访问 UI 对象是不安全的,像 Button、TextBox 和 TextBlock 等 UI 对象只能在 UI 线程中安全访问。
Dispatcher 的作用是为后台线程提供一种调用在主线程上运行的方法的途径,从而安全地更新 UI。例如,在使用异步 WebRequest 类从服务器检索数据时,这种方法就很有用。
以下是一个示例应用的代码:
<!-- Recipe 2-12’s MainPage.xaml File -->
<UserControl x:Class="Ch02_ProgrammingModel.Recipe2_12.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="600" Hei
超级会员免费看
订阅专栏 解锁全文
101

被折叠的 条评论
为什么被折叠?



