• 异步线程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
    异步和线程
    ---------------------------------

  • 相关阅读:
    [Angular] @ContentChild and ngAfterContentInit
    [Angular] Content Projection with ng-content
    [ES2016] Check if an array contains an item using Array.prototype.includes
    [Ramda] Handle Errors in Ramda Pipelines with tryCatch
    [React Native] Installing and Linking Modules with Native Code in React Native
    [Ramda] Refactor to Point Free Functions with Ramda using compose and converge
    [React Native] Writing Platform-Specific Components for iOS and Android in React Native
    [Redux] Avoid action type naming conflicts
    paip.索引优化---sql distict—order by 法
    DL,DT,DD,比传统table更语义,解析更快的table列表方式
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/3109114.html
Copyright © 2020-2023  润新知