zoukankan      html  css  js  c++  java
  • 异步线程C#异步委托的使用

    时间紧张,先记一笔,后续优化与完善。

        using System;

        using System.Collections.Generic;

        using System.Linq;

        using System.Text;

        using System.Threading;

        using System.Runtime.Remoting.Messaging;

        namespace 异步委托

        {

        /// <summary>

        

        /// 说明异步委托调用时会发生一个新的线程,不会阻塞主线程,
        /// 前提是应用回调函数,而不是直接应用委托的.endinvoke方法获取结果

        

        /// </summary>

        class Program

        {

            public delegate int AddDel(int x, int y);

            static void Main(string[] args)

            {

                //定义委托

                AddDel addDel = new AddDel(AddFunc);

                Console.WriteLine("主线程开始执行...{0}",Thread.CurrentThread.ManagedThreadId);

                //开始异步调用委托

                addDel.BeginInvoke(2, 3, Callback, 2);  //第三个参数回调函数,第四个参数,额定参数

        每日一道理
    如果你们是蓝天,我愿做衬托的白云;如果你们是鲜花,我愿做陪伴的小草;如果你们是大树,我愿做点缀的绿叶……我真诚地希望我能成为你生活中一个欢乐的音符,为你的每一分钟带去祝福。

                Console.WriteLine("主线程执行完毕!");

                Console.ReadKey();

            }

            static int AddFunc(int x, int y)

            {

                Console.WriteLine("子线程在执行:{0}",Thread.CurrentThread.ManagedThreadId);

                Thread.Sleep(3000);

                return x + y;

            }

            static void Callback(IAsyncResult ar)

            {

                AsyncResult asy = (AsyncResult)ar;

                //获取代理信息

                AddDel addDel = (AddDel)asy.AsyncDelegate; 

                //获取返回结果

                int result = addDel.EndInvoke(ar);

                //获取额定参数

                int otherData = (int)asy.AsyncState;

                Console.WriteLine("子线程执行完毕!{0},执行结果:{1},额定参数:{2}",Thread.CurrentThread.ManagedThreadId

                                        ,result,otherData);

            }

        }

        }

    文章结束给大家分享下程序员的一些笑话语录: 程序员打油诗   
      写字楼里写字间,写字间里程序员;
      程序人员写程序,又拿程序换酒钱。
      酒醒只在网上坐,酒醉还来网下眠;
      酒醉酒醒日复日,网上网下年复年。
      但愿老死电脑间,不愿鞠躬老板前;
      奔驰宝马贵者趣,公交自行程序员。
      别人笑我忒疯癫,我笑自己命太贱;
      不见满街漂亮妹,哪个归得程序员。

    --------------------------------- 原创文章 By
    异步和线程
    ---------------------------------

  • 相关阅读:
    boxcox1p归一化+pipeline+StackingCVRegressor
    rt-thread调度锁与关闭中断深度探究
    树莓派4最小化安装Linux
    树莓派4可以不用SD卡启动
    树莓派JTAG详细使用笔记
    树莓派上玩街机游戏
    用树莓派制作红白游戏机
    树莓派4上使用uboot+tftp调试rt-thread程序
    在window上搭建树莓派4b的RT-Thread开发环境2
    树莓派上运行RT-Thread并通过esp8266连接网络
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/3109114.html
Copyright © 2011-2022 走看看