首页 > 编程语言 >C#同步异步方法使用

C#同步异步方法使用

时间:2023-09-06 12:36:47浏览次数:29  
标签:异步 同步 58 C# void Worker static

namespace AsyncDemo
{
    internal class Program
    {
        static void Log(string msg)
        {
            Console.WriteLine($"{DateTime.Now.ToString("HH:mm:ss.fff")} {msg}");
        }

        static async Task Worker(string name, int time = 1000)
        {
            await Task.Delay(time);

            Log(name);
        } 

        static void WorkerSync()
        {
            Worker("同步").Wait(); // 等待异步方法完成->同步
        }

        static async void WorkerASync()
        {
            // 方法内是同步
            await Worker("异步等待::A");
            await Worker("异步等待::B"); 
        } 

        static void Main(string[] args)
        {
            WorkerSync();// 同步方法,等待内部执行完,再执行下面代码

            WorkerASync();// 异步方法,跳出内部执行,执行下面代码

            Log("End");

            Console.ReadKey();

            // 输出结果:
            //11:58:25.245 同步
            //11:58:25.260 End
            //11:58:26.265 异步等待::A
            //11:58:27.276 异步等待::B
        }
    }
}

 

标签:异步,同步,58,C#,void,Worker,static
From: https://www.cnblogs.com/chen1880/p/17681989.html

相关文章

  • vue使用socket.io
    Vue项目使用socket.io使用librarysocket.io-client或者vue-socket.ionpminstallsocket.io-client||npminstallvue-socket.io使用socket.io-clientsocket.io-client是socket.io原配插件在对应的组件内使用import{io}from'socket.io-client'this.socket=......
  • C# 获取程序路径的几种方法及其区别
    在开发的程序中使用自定义的配置文件属于基本的操作了,但最近发现一个问题:如果程序是由用户通过exe文件直接打开的,获取同目录下配置文件不会有问题;但如果程序是由第三方应用启动的,通过不同方式获取的“当前目录”会有不同。以下是整理的几种获取当前目录的方式,及官方文档中的注释:......
  • Android官方资料--Block-Based OTAs
    Block-BasedOTAsINTHISDOCUMENTRecommendationsFilevs.BlockOTAsUpdatingunmodifiedsystemsUpdatingmodifiedsystemsYoucanenableblock-basedover-the-air(OTA)updatesfornewdevicesrunningAndroid5.0.OTAisthemechanismbywhichOEMsremote......
  • 无涯教程-JavaScript - ISOWEEKNUM函数
    描述ISOWEEKNUM函数返回给定日期的年份的ISO周编号。语法ISOWEEKNUM(date)争论Argument描述Required/OptionalDateDateisthedate-timecodeusedbyExcelfordateandtimecalculation.RequiredNotesMicrosoftExcel将日期存储为连续数字,因此可以在计算......
  • 华为S7706交换机设置 DHCP
    1.登陆S7706核心交换机后1.建立新的VLANvlan156vlan1572.为VLAN156VLAN157分别设置DHCP的POOL(也就是需要分配的地址)ippoolvlan156gateway-list10.10.156.1network10.10.156.0mask255.255.255.0excluded-ip-address10.10.156.210.10.156.50excluded-ip-ad......
  • CloudQuery ✖️ PolarDB:让数据库管理更简单
    近日,CloudQuery数据操作管控平台与阿里云PolarDB数据库管理软件,完成产品集成认证测试。也在以下功能上完善了用户使用PolarDB的体验,使数据库的管理更加安全高效。1.支持在CloudQuery中创建连接,便于进行数据库管控。2.支持编辑连接、资源纳管、连接池管理以及连接设置,可设置......
  • spring boot logback日志显示时间差8小时
    参考:https://blog.csdn.net/u014453475/article/details/100579856官方文档:Thesecondparameterspecifiesatimezone.Forexample,the'%date{HH:mm:ss.SSS,Australia/Perth}wouldprintthetimeinthetimezoneofPerth,Australia,theworld'smostiso......
  • CMake生成Visual Studio工程
    CMake–生成VisualStudio工程C/C++项目经常使用CMake构建工具。CMake项目文件(例如CMakeLists.txt)可以直接由VisualStudio使用。本文要说明的是如何将CMake项目转换到VisualStudio解决方案(.sln)或项目(.vcxproj)开发环境为了生成VisualStudio解决方案,必须安装以下内......
  • Elasticsearch7.8集群实践记录之下线节点
    1.背景:由于机房迁移需要将elasticsearch集群进行跨机房搬迁,采取先扩容再收缩的方式进行,已有效减小对业务环境的影响。当前需要将老的节点有序下线。2.操作步骤:  1.检查集群配置,保证主节点的可用性;   #设置minimum_master_nodes为2curl-XPUT'http://hostname:9......
  • 在 Linux 系统中安装并设置 kubectl
    准备开始kubectl版本和集群版本之间的差异必须在一个小版本号内。例如:v1.28版本的客户端能与v1.27、v1.28和v1.29版本的控制面通信。用最新兼容版的kubectl有助于避免不可预见的问题。在Linux系统中安装kubectl在Linux系统中安装kubectl有如下几种方法:用c......