zoukankan      html  css  js  c++  java
  • 线程异步

    普通的方法:

    Thread th = new Thread(new ThreadStart(delegate()
    {
      //要执行的异步方法
    }));
    th.Start();

    但有时候异步去操作控件时会报错,提示主线程之外的线程操作控件,这时候可以这样写:

    Thread th = new Thread(new ThreadStart(GetVideos));
    th.Start();

    //异步获取视频列表
    private void GetVideos()

    {  

      if (this.InvokeRequired)
      {
        MethodInvoker getvideo = delegate
        {
          //操作控件的地方,注意的是,这里只包含操作控件的地方就好,不用所有方法内容都包含,还有这里的内容和下面else里的是一样的
        };

        this.Invoke(getvideo);

      }
      else
      {
      }

    }

    这样就能解决异步操作主线程控件的问题了

  • 相关阅读:
    hdu1875(最小生成树prime)
    hdu1839(最小生成树)
    poj2739(尺取法+质数筛)
    poj2100(尺取法)
    codeforces-div2-449-B
    gym-101350M
    gym-10135I
    gym-101350H
    gym-101350D
    hdu 5569
  • 原文地址:https://www.cnblogs.com/dachuang/p/6877345.html
Copyright © 2011-2022 走看看