博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#异步编程await与async
阅读量:4092 次
发布时间:2019-05-25

本文共 1724 字,大约阅读时间需要 5 分钟。

使用 async 修饰符可将方法、或指定为异步。 如果对方法或表达式使用此修饰符,则其称为异步方法 。

实例一

class Program    {        static void Main(string[] args)        {            Console.WriteLine("1.同步ThreaID:" + Thread.CurrentThread.ManagedThreadId);            RunTimeAsync();            Console.WriteLine("4.异步执行完毕ThreaID:" + Thread.CurrentThread.ManagedThreadId);            Thread.Sleep(5000);            Console.WriteLine("5.同步延迟完毕ThreaID:" + Thread.CurrentThread.ManagedThreadId);            Console.ReadKey();        }        public async static Task RunTimeAsync()        {            Console.WriteLine("2.进入异步ThreaID:" + Thread.CurrentThread.ManagedThreadId);            await Task.Delay(1000);            Console.WriteLine("3.异步执行后ThreaID:" + Thread.CurrentThread.ManagedThreadId);        }    }

在异步函数中,Await之后会自动创建出一个线程。执行结果就可以看出

实例二

public partial class Form1 : Form{    public Form1()    {        InitializeComponent();        button1.Click += button1_Click;    }    private async void button1_Click(object sender, EventArgs e)    {        await ExampleMethodAsync();        textBox1.Text += "\r\nControl returned to Click event handler.\n";    }    private async Task ExampleMethodAsync()    {        // The following line simulates a task-returning asynchronous process.        await Task.Delay(1000);    }}

实例三

public partial class Form1 : Form{    public Form1()    {        InitializeComponent();        button1.Click += async (sender, e) =>        {            await ExampleMethodAsync();            textBox1.Text += "\r\nControl returned to Click event handler.\n";        };    }    private async Task ExampleMethodAsync()    {        // The following line simulates a task-returning asynchronous process.        await Task.Delay(1000);    }}

参考:

转载地址:http://mkiii.baihongyu.com/

你可能感兴趣的文章
原来我之前一直用的APM固件....现在很多东西明白了。
查看>>
realsense-ros里里程计相关代码
查看>>
似乎写个ROS功能包并不难,你会订阅话题发布话题,加点逻辑处理,就可以写一些基础的ROS功能包了。
查看>>
PX4官方用户和开发手册的首页面是会给你选择英文和中文的
查看>>
《跟工程师学嵌入式开发》这本书最后的终极项目我反而觉得有说头
查看>>
博士的申请考核制
查看>>
MAVLink学习之路05_MAVLink应用编程接口分析(也有讲STM32下的收发函数)
查看>>
找到了中文版的mavlink手册
查看>>
浅谈飞控开发的仿真功能
查看>>
我觉得在室内弄无人机开发装个防撞机架还是很有必要的,TBUS就做得很好。
查看>>
serial也是见到很多次了,似乎它就是一种串行通信协议
查看>>
TBUS的一些信息
查看>>
专业和业余的区别就在于你在基础在基本功打磨练习花的时间
查看>>
通过mavlink实现自主航线的过程笔记
查看>>
Ardupilot飞控Mavlink代码学习
查看>>
这些网站有一些嵌入式面试题合集
查看>>
我觉得刷题是有必要的,不然小心实际被问的时候懵逼,我觉得你需要刷个50份面试题。跟考研数学疯狂刷卷子一样!
查看>>
我觉得嵌入式面试三要素:基础吃透+项目+大量刷题,缺一不可。不刷题是不行的。而且得是大量刷,刷出感觉套路,别人做题都做得是固定题型套路条件反射了,你还在那慢慢理解慢慢推是不行的,也是考研的教训。
查看>>
React + TypeScript 实现泛型组件
查看>>
TypeScript 完全手册
查看>>