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();

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

  • 相关阅读:
    leetcode 68 Text Justification
    了解HTTP协议
    对编码的一点理解
    极简WebSocket聊天室
    统一响应数据的封装
    BitMap
    SPI机制
    Holder类
    Java的标签
    二叉树的非递归遍历
  • 原文地址:https://www.cnblogs.com/net2012/p/2871227.html
Copyright © 2011-2022 走看看