zoukankan      html  css  js  c++  java
  • 委托异步回调

    winform 需要运算的时候 很多时候需要异步去计算 防止界面卡死  大部分的例子写的比较复杂, 我重新给大伙讲下 我自己理解的 

    1.委托就是一个类 所以我们需要先定义一个委托类型 (其实就是定义一个 和你要异步的的方法一样的返回类型和参数)

      public delegate void InserData();

    2.然后声明这个类型

       public InserData SetData;

    3.实例化这个委托,把方法名放入

      SetData = new InserData(SetRedisData);

    4.开始异步调用

    SetData.BeginInvoke(AsyncCallback, null);

    5.要实现回调方法

    private void AsyncCallback(IAsyncResult ar)
    {
      MessageBox.Show("工作完成!");
    }

    完整代码:

    public delegate void InserData();
    public InserData SetData;
    SetData = new InserData(SetRedisData);
    SetData.BeginInvoke(AsyncCallback, null);
    // 结束异步操作
    private void AsyncCallback(IAsyncResult ar)
    {
       MessageBox.Show("工作完成!");
    }
    public void SetRedisData() {int i = 1;
     while (i<100)
       {
          Thread.Sleep(1000);
       }
    }

    口诀:1.定义2.声明3.实现(传入方法名)4.调用5.回调

  • 相关阅读:
    php str_ireplace()函数 语法
    php str_replace()函数 语法
    php substr()函数 语法
    php implode()函数 语法
    php explode()函数 语法
    php strtok()函数 语法
    php chunk_split()函数 语法
    php strnatcasecmp()函数 语法
    php strnatcmp()函数 语法
    php strncasecmp()函数 语法
  • 原文地址:https://www.cnblogs.com/linyijia/p/10083973.html
Copyright © 2011-2022 走看看