zoukankan      html  css  js  c++  java
  • silverlight多线程学习(二) DispatcherTimer

    DispatcherTimer 线程

    注意要点:

    一、能直接访问并操作UI界面元素。

    二、需要注意会造成UI线程阻塞,就是界面卡机的情况。

    可以理解为占用UI线程,因为它可以直接访问并更新UI。这种线程一般不推荐使用。这种线程实际上会造成UI线程的阻塞,其它线程也可以造成线程阻塞。主要是这种线程在它的Tick事件中执行的都是占用UI线程,也就是说它在执行定时器事件的时候会和UI界面线程同步。如果是后台线程使用的不当,写的不好的话。其线程也会造成页面卡机。以上是个人初学的理解。

    其特点是使用方便可以直接访问并操作UI界面元素。

    下面是silverlight实例代码

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Net;

    using System.Windows;

    using System.Windows.Controls;

    using System.Windows.Documents;

    using System.Windows.Input;

    using System.Windows.Media;

    using System.Windows.Media.Animation;

    using System.Windows.Shapes;

    using System.Windows.Threading;

     

    namespace 多线程

    {

        public partial class MainPage : UserControl

        {

            public MainPage()

            {

                InitializeComponent();

                this.Loaded += new RoutedEventHandler(MainPage_Loaded);

     

            }

     

            void MainPage_Loaded(object sender, RoutedEventArgs e)

            {

                DispatcherTimer timer = new DispatcherTimer();//定时器

     

                timer.Interval = TimeSpan.FromSeconds(1.0);//设置间隔时间

     

                timer.Tick += new EventHandler((s, ee) =>//使用Lambda 表达式

                {

                    //更新文本值

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

                });

                ////也可以如下写法

                //timer.Tick += new EventHandler(timer_Tick);    

     

     

                timer .Start ();//开始定时器    

     

     

            }

     

            //void timer_Tick(object sender, EventArgs e)

            //{

            //    //更新文本值

            //    this.textBox1.Text = DateTime.Now.ToString();

            //}

        }

    }

  • 相关阅读:
    回调函数(callback)是什么?
    类和对象的关系
    前端性能优化十四个规则:
    响应时间过长而导致网页问题的原因?
    给老爸更换电脑
    Notes for "Python in a Nutshell"
    Debian Jessie升级至Stretch小记
    将LibreOffice文档转换为豆瓣日记
    将Emacs Org任务树导出至Freeplane思维导图
    GNU/Linux下Freeplane的界面渲染问题
  • 原文地址:https://www.cnblogs.com/Areas/p/2196789.html
Copyright © 2011-2022 走看看