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.回调

  • 相关阅读:
    二叉排序树(B-Tree)-c实现
    队列(Queue)-c实现
    栈(stack)--c实现(使用双链表)
    链表(list)--c实现
    c 和 指针读书笔记(1)
    c traps and pitfalls reading notes(2)
    js 控制
    正则表达式
    Android 笔记
    Android 布局方式学习
  • 原文地址:https://www.cnblogs.com/linyijia/p/10083973.html
Copyright © 2011-2022 走看看