.Net 异步委托

委托的 BeginInvoke 方法和 EndInvoke 方法可以实现异步执行委托方法。这允许委托的方法在后台线程中执行,而不会阻塞当前线程。小编在之前的webform开发中遇到下载进度条卡死的问题就是用它解决的。

案例:


namespace ConsoleApplication1
{
    class Program
    {
        //创建委托
        delegate void PrintDelegate(string message);
        //静态方法
        static void PrintMessage(string message)
        {
            for (int i = 0; i < 10000; i++)
            {
                Console.WriteLine(message + "(" + i + ")");
            }
        }
        static void Main(string[] args)
        {
            //委托调用方法
            PrintDelegate print = PrintMessage;
            //表示异步操作的状态
            IAsyncResult result = print.BeginInvoke("执行异步方法", null, null);
            //执行异步委托
            print.EndInvoke(result);//这里不会卡死
            Console.WriteLine("Begin 后的方法");

            Console.ReadKey();
        }
    }
}

相关推荐

  1. .Net 异步委托

    2024-03-27 07:32:03       38 阅读
  2. 【.NET Core】委托(Delegate)应用详解

    2024-03-27 07:32:03       33 阅读
  3. 【.NET Core】异步编程模式

    2024-03-27 07:32:03       50 阅读
  4. C#面:.NET默认的委托类型有哪几种?

    2024-03-27 07:32:03       34 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-27 07:32:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-27 07:32:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-27 07:32:03       87 阅读
  4. Python语言-面向对象

    2024-03-27 07:32:03       96 阅读

热门阅读

  1. How to use jupyter nbconvert

    2024-03-27 07:32:03       33 阅读
  2. Microsoft Word 快捷键 (keyboard shortcut - hotkey)

    2024-03-27 07:32:03       42 阅读
  3. 【Go】八、Gin 入门使用简介

    2024-03-27 07:32:03       34 阅读
  4. Code Review(代码审查)

    2024-03-27 07:32:03       40 阅读
  5. Apache Kafka

    2024-03-27 07:32:03       36 阅读