zoukankan      html  css  js  c++  java
  • Silverlight学习笔记2:Silverlight中使用多线程实现倒计时

          说到多线程,首先我们得了解他的应用领域,用在哪、一般当应用程序中需要处理界面逻辑的同时又要去处理其它的逻辑行为,如果是在单线程下那么就要按照顺序依次去完成,如果需要同时完全或者在一件事做到某种程度时再做另外一件事情,就可以通过多线程来进行处理。

         接下来将演示如何利用多线程去实现一个简单的倒计时功能:

    Xaml:
       

    1 <Grid x:Name="LayoutRoot" Background="White">
    2 <StackPanel Name="stackPanel" Orientation="Horizontal">
    3 <Button Name="btnStart" Content="开始" Width="60" Height="20" Click="btnStart_Click" />
    4 <Button Name="btnJoin" Content="延时" Width="60" Height="20" Click="btnJoin_Click" />
    5 </StackPanel>
    6 </Grid>

    C#:

     public partial class MainPage : UserControl
    {
    private static TextBlock tbk;
    private Thread newThread;
    public MainPage()
    {
    InitializeComponent();
    tbk = new TextBlock() { FontSize=12,Width=200,Height=100 , };
    LayoutRoot.Children.Add(tbk);
    newThread = new Thread(MainPage.SetText);
    }

    private void btnStart_Click(object sender, RoutedEventArgs e)
    {
    newThread.Start();
    }

    private void btnJoin_Click(object sender, RoutedEventArgs e)
    {
    newThread.Join(2000);
    }

    public static void SetText()
    {
    int i = 60;
    while (i>0)
    {
    tbk.Dispatcher.BeginInvoke(delegate() { tbk.Text = "倒计时:" + i + ""; });
    i--; Thread.Sleep(1000);
    }


    }
    }

           本文是阅读《Silverlight3.0开发详解与最佳实践》的学习笔记,只是针对于多线程的简要介绍,多线程的使用有利也有弊,其处理复杂,易引发线程争用,死锁等现象。

     

         

  • 相关阅读:
    图灵2010.05书讯
    上海.NET技术交流会
    图灵2010.07书讯
    高效模式编写者的7个习惯
    QRCode 二维码开源DLL
    javascript 复习
    关于反射技术
    数字签名与加密解密
    使用负载均衡技术建设高负载的网络站点
    dreamweaver cs5.5中的phonegap升级测试
  • 原文地址:https://www.cnblogs.com/tanliang/p/2184955.html
Copyright © 2011-2022 走看看