mikebai.com

  • Home
  • dev
  • DotNET
  • M365
  • 搞笑
  • 杂七杂八
  • FocusDict
個人BLOG
it developer
  1. Main page
  2. DotNET
  3. Main content

说说C#的async和await

2015-10-28 132hotness 0likes 0comments

C# 5.0中引入了async 和 await。这两个关键字可以让你更方便的写出异步代码。

看个例子:

[csharp] 
  1. public class MyClass  
  2. {  
  3.     public MyClass()  
  4.     {  
  5.         DisplayValue(); //这里不会阻塞  
  6.         System.Diagnostics.Debug.WriteLine("MyClass() End.");  
  7.     }  
  8.     public Task<double> GetValueAsync(double num1, double num2)  
  9.     {  
  10.         return Task.Run(() =>  
  11.         {  
  12.             for (int i = 0; i < 1000000; i++)  
  13.             {  
  14.                 num1 = num1 / num2;  
  15.             }  
  16.             return num1;  
  17.         });  
  18.     }  
  19.     public async void DisplayValue()  
  20.     {  
  21.         double result = await GetValueAsync(1234.5, 1.01);//此处会开新线程处理GetValueAsync任务,然后方法马上返回  
  22.         //这之后的所有代码都会被封装成委托,在GetValueAsync任务完成时调用  
  23.         System.Diagnostics.Debug.WriteLine("Val
Tag: Nothing
Last updated:2015-10-28

mikebai

This person is a lazy dog and has left nothing

Like
< Last article
Next article >

COPYRIGHT © 2025 mikebai.com. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang