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开发详解与最佳实践》的学习笔记,只是针对于多线程的简要介绍,多线程的使用有利也有弊,其处理复杂,易引发线程争用,死锁等现象。

     

         

  • 相关阅读:
    改变传统电视对客厅文化的影响
    移动终端三分天下 何与争峰
    全球移动IM应用的迅猛发展前景
    电子医疗的发展和实现
    poj 1523(无向图求割点)
    poj 3255(次短路)
    poj 2125
    poj 3204
    图的连通度问题的求法(转)
    poj 3308
  • 原文地址:https://www.cnblogs.com/tanliang/p/2184955.html
Copyright © 2011-2022 走看看