zoukankan      html  css  js  c++  java
  • BackgroundWorker

    BackgroundWorker:线程执行完毕之后我们可以继续一些操作

    示例:

     class Program
        {
            static void Main(string[] args)
            {
    
                Console.WriteLine("Main(string[] args)方法中:当前执行的线程编号:{0}", Thread.CurrentThread.ManagedThreadId);
    
                //BackgroundWorker
                //创建一个后台执行者对象
                BackgroundWorker backWorker = new BackgroundWorker();
                //设置该对象要在后台执行的方法
                backWorker.DoWork += new DoWorkEventHandler(backWorker_DoWork);
    
                //设置另外一个事件:当程序执行完毕后触发的事件
                backWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(backWorker_RunWorkerCompleted);
    
                //开始执行
                backWorker.RunWorkerAsync(new int[] { 1, 100 });
                Console.WriteLine("主线程继续.......");
                Console.ReadKey();
            }
            //当后台方法执行完毕后触发的事件
            static void backWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
            {
                Console.WriteLine("backWorker_RunWorkerCompleted方法中:当前执行的线程编号:{0}", Thread.CurrentThread.ManagedThreadId);
                Console.WriteLine("最后输出结果是:{0}", e.Result);
            }
    
    
            //要在后台执行的方法
            static void backWorker_DoWork(object sender, DoWorkEventArgs e)
            {
                Console.WriteLine("backWorker_DoWork方法中:当前执行的线程编号:{0}", Thread.CurrentThread.ManagedThreadId);
                if (e.Argument != null)
                {
                    int[] arr = e.Argument as int[];
                    //把方法调用完毕后的值赋值给e.Result
                    e.Result = Sum(arr[0], arr[1]);
                }
    
            }
            static int Sum(int from, int to)
            {
                int sum = 0;
                for (int i = from; i <= to; i++)
                {
                    sum += i;
                }
                return sum;
            }
        }
    

      

  • 相关阅读:
    两栏自适应布局
    说说bfc 和 HasLayout
    春联式弹动广告
    Centos7安装完毕后重启提示Initial setup of CentOS Linux 7 (core)的解决方法
    2016年新剧《欢乐颂》里面的经典台词
    硬盘怎么保养
    如何保养与维护笔记本硬盘
    仔细看完,你会成为微信高手
    电脑之间用网线直接连接起来快速传送大文件技巧
    阿里云9折优惠码 GQH4IT 使用方法如下:
  • 原文地址:https://www.cnblogs.com/entclark/p/8025383.html
Copyright © 2011-2022 走看看