异步编程
Posted yeshuimaowei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了异步编程相关的知识,希望对你有一定的参考价值。
4. c#4.x Task的新特性 Async && Await
这种编程方式是对之前Task的补充和扩展,简化了异步编程,让喜欢用同步编程的同学,使用起来更顺手:
static void Main() { Console.WriteLine("Main Thread begin Thread ID:{0}",Thread.CurrentThread.ManagedThreadId); Program prgo = new Program(); prgo.DoSomething(3); Console.WriteLine("Main Thread Lasting Thread ID:{0}", Thread.CurrentThread.ManagedThreadId); Console.Read(); } public async void DoSomething(int id)//这里开启一个异步方法, Async 标志 { await LoopingAjob(id); // await Task.Run(() => { Console.WriteLine("A task awit test {0}",id); }); } public Task LoopingAjob(int id)//这里是一个执行的任务 { return Task.Run(()=> { Thread.Sleep(1000); Console.WriteLine("Task {0} run-> Thread ID:{1}",id,Thread.CurrentThread.ManagedThreadId); }); }
Await 表示等待,等待异步的完成,并在当刻阻塞线程,直到异步的完成; await可以标记任务 和异步方法
await Task.Run(() => { Console.WriteLine("A task awit test {0}",id); });
以上是关于异步编程的主要内容,如果未能解决你的问题,请参考以下文章