登录 / 注册
IT168技术开发频道
IT168首页 > 技术开发 > 技术开发技术 > 正文

Silverlight 4中四种多线程编程技术

2011-05-10 00:05    it168网站原创  作者: 朱先忠 编辑: 胡铭娅

  【IT168 专稿】上篇文章中,我们介绍了Silverlight 4编程环境下的五种多线程编程技巧。在本篇中,我们将介绍另外四种Silverlight 4多线程编程中的支持技术。

  1.使用WaitHandle

  等待句柄应当是你进行多线程编程的必备装备。由于我们的主要兴趣点在于Silverlight多线程编程相关的内容,所以我们不想再深入探讨WaitHandle。但在此为你提供一个典型的例子,告诉你使用WaitHandle的基本方法。

  清单1:

  public partial class MainPage : UserControl

  {

  AutoResetEvent handle
= new AutoResetEvent(true);

  
public MainPage()

  {

  InitializeComponent();

  
new Thread(() =>

  {

  
while (true)

  {

  handle.WaitOne();

  this.Dispatcher.BeginInvoke(()
=>

  {

  this.TextBlock1.Text
= DateTime.Now.ToString();

  });

  }

  }).Start();

  }

  
private void Button_Click(object sender, RoutedEventArgs e)

  {

  handle.Set();

  }

  }

  2.使用定时器

  System.Thread.Timer是一个多线程的计时器。这是一个简单的轻量级的计时器,使用回调方法,并由线程池中线程提供相应的服务。让我们看一个相关的例子:

  清单2:(参考示例页面TimerTestPage.xaml)

  namespace SilverlightMultiThread

  {

  
public partial class TimerTestPage : Page

  {

  System.Threading.SynchronizationContext _syncContext;

  System.Threading.Timer _timer;

  
private int _flag = 0;

  
public TimerTestPage()

  {
标签: 微软 , Silverlight
  • 2011-05-10
  • 2011-05-10
  • 2011-05-10
网友评论
已有0条评论
  • IT168企业级IT168企业级
  • IT168文库IT168文库

扫码送文库金币

编辑推荐
系统架构师大会
系统架构师大会
点击或扫描关注
IT168企业级微信关注送礼
IT168企业级微信关注送礼
扫描关注
首页 评论 返回顶部