zoukankan      html  css  js  c++  java
  • async和await

    await和async是.NET Framework4.5框架、C#5.0语法里面出现的,await和async是语法糖。

    注意:

    1、async出现在方法的声明里面,任何一个方法都可以增加async。

    2、await放在Task前面,async和await是成对出现的,只有async是没有意义的,只有await是报错的。

    只有async是没有意义的。

    只有await是报错的。

    3、await 只能放在task前面,不推荐void返回值,使用Task来代替。Task和Task<T>能够使用await, Task.WhenAny, Task.WhenAll等方式组合使用。Async Void 不行

     1 private static async Task Return()
     2 {
     3             //主线程执行
     4             Console.WriteLine($"NoReturn Sleep before await,ThreadId={Thread.CurrentThread.ManagedThreadId}");
     5             TaskFactory taskFactory = new TaskFactory();
     6             Task task = taskFactory.StartNew(() =>
     7             {
     8                 Console.WriteLine($"NoReturn Sleep before,ThreadId={Thread.CurrentThread.ManagedThreadId}");
     9                 Thread.Sleep(3000);
    10                 Console.WriteLine($"NoReturn Sleep after,ThreadId={Thread.CurrentThread.ManagedThreadId}");
    11             });
    12             //主线程到这里就返回了,执行主线程任务
    13             await task;
    14             //这个回调的线程是不确定的:可能是主线程  可能是子线程  也可能是其他线程
    15             Console.WriteLine($"NoReturn Sleep after await,ThreadId={Thread.CurrentThread.ManagedThreadId}");
    16 }
  • 相关阅读:
    jpeg 文档格式
    gif 文件格式
    firefox前世今生
    png 文档格式
    字符'\xe5\x8c\x97\xe4\xba\xac\xe6\x96\xb0\xe5\x8d\x8e\xe7\x94\xb5\xe8\x84\x91\xe5\xad\xa6\xe6\xa0\xa1' 转为汉字
    SQL server 报错:
    encode 与 decode
    Octave 作图 无响应
    qmake建工程
    urlparse (scheme、netloc、path等)
  • 原文地址:https://www.cnblogs.com/dotnet261010/p/9251123.html
Copyright © 2011-2022 走看看