網站首頁 編程語言 正文
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
private static async Task Return() { //主線程執行 Console.WriteLine($"NoReturn Sleep before await,ThreadId={Thread.CurrentThread.ManagedThreadId}"); TaskFactory taskFactory = new TaskFactory(); Task task = taskFactory.StartNew(() => { Console.WriteLine($"NoReturn Sleep before,ThreadId={Thread.CurrentThread.ManagedThreadId}"); Thread.Sleep(3000); Console.WriteLine($"NoReturn Sleep after,ThreadId={Thread.CurrentThread.ManagedThreadId}"); }); //主線程到這里就返回了,執行主線程任務 await task; //這個回調的線程是不確定的:可能是主線程 可能是子線程 也可能是其他線程 Console.WriteLine($"NoReturn Sleep after await,ThreadId={Thread.CurrentThread.ManagedThreadId}"); }
原文鏈接:https://www.cnblogs.com/dotnet261010/p/9251123.html
相關推薦
- 2022-04-09 SpringBoot 項目打包成jar包,并執行Jar文件
- 2022-10-05 python?matplotlib自定義colorbar顏色條及內置色條詳解_python
- 2024-02-29 UNI-APP開發之插件安裝失敗,離線安裝
- 2022-01-15 解決npm install 報錯 npm ERR! code 128 npm ERR! comman
- 2022-09-13 Nginx報錯104:Connection?reset?by?peer問題的解決及分析_nginx
- 2022-05-02 C/C++的文件IO函數你知道嗎_C 語言
- 2023-03-28 Python表示當前時間的方法合集_python
- 2022-09-05 Spring是如何解決循環依賴的?
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支