zoukankan      html  css  js  c++  java
  • BeginInvoke和EndInvoke操作线程 天高地厚

    BeginInvoke方法可以使用线程异步地执行委托所指向的方法。然后通过EndInvoke方法获得方法的返回值(EndInvoke方法的返回值就是被调用方法的返回值),或是确定方法已经被成功调用。

    具体代码如下

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    protected void Page_Load(object sender, EventArgs e)
    {
        runDel = new runDelegate(SendEMail);
    }
     
    private delegate string runDelegate();
    private runDelegate runDel;
     
    protected void btnSend_Click(object sender, EventArgs e)
    {
        IAsyncResult asyncResult = runDel.BeginInvoke(FunCompleted, runDel);
        this.Page.ClientScript.RegisterStartupScript(this.GetType(), "", "alert('ddddd')", true);
    }
     
    private void FunCompleted(IAsyncResult ar) 
    {
        if (ar == null)
        {
            return;
        }
        string abc = (ar.AsyncState as runDelegate).EndInvoke(ar).ToString();
    }

     SendEMail是我执行的一个操作(之前写的发送邮件的代码).后来他和我说他用别的办法解决的

    1
    2
    Thread th = new Thread(SendEMail);
    th.Start();

    不登高山,怎知天高;不临深溪,焉知地厚!站在坚实的土地上,做着生命中最真实的事情;像一棵挺拔的大树,认可自己的命运并敢于迎接属于这一方天空的风风雨雨。

  • 相关阅读:
    extjs grid renderer用法
    EventListenerList举例
    SQL语句的执行原理
    WPF操作邮箱,发送邮件
    wpf中DataGrid行色变换
    JS获取浏览器和荧屏分辨率
    将数据库的二进制字节转换成图片
    字符串操作类
    ios推送基于YII第三方组件的类库
    数组操作类
  • 原文地址:https://www.cnblogs.com/net2012/p/2871227.html
Copyright © 2011-2022 走看看