網(wǎng)站首頁 編程語言 正文
await和async是.NET Framework4.5框架、C#5.0語法里面出現(xiàn)的,await和async是語法糖。
注意:
1、async出現(xiàn)在方法的聲明里面,任何一個方法都可以增加async。
2、await放在Task前面,async和await是成對出現(xiàn)的,只有async是沒有意義的,只有await是報錯的。
只有async是沒有意義的。
只有await是報錯的。
3、await 只能放在task前面,不推薦void返回值,使用Task來代替。Task和Task
private static async Task Return() { //主線程執(zhí)行 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}"); }); //主線程到這里就返回了,執(zhí)行主線程任務(wù) await task; //這個回調(diào)的線程是不確定的:可能是主線程 可能是子線程 也可能是其他線程 Console.WriteLine($"NoReturn Sleep after await,ThreadId={Thread.CurrentThread.ManagedThreadId}"); }
原文鏈接:https://www.cnblogs.com/dotnet261010/p/9251123.html
相關(guān)推薦
- 2022-11-18 Oracle移動數(shù)據(jù)文件不停機(jī)和停機(jī)兩種方式詳解_oracle
- 2021-11-27 nginx中的兩個模塊的proxy_pass的區(qū)別解析_nginx
- 2023-12-14 Excel如何把兩列互換
- 2022-10-06 Iptables防火墻connlimit與time模塊擴(kuò)展匹配規(guī)則_安全相關(guān)
- 2022-10-12 pandas學(xué)習(xí)之df.set_index的具體使用_python
- 2022-11-12 C語言字符串與字符數(shù)組面試題中最易錯考點(diǎn)詳解_C 語言
- 2022-01-03 比較throw和 throws的異同
- 2023-03-03 Linux命令之mkdir,cat,touch,vi/vim的詳解_Linux
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支