当前位置: 首页 > news >正文

await前后的线程

我们都知道 await 会让当前线程释放回线程池,然后 await后再申请,在默认情况下一放 一申请 这两未必是同一个线程了。
但是我们在写WPF/winform时,如果如下

private async void Button_Click(object sender, RoutedEventArgs e)
{// UI 线程myButton.Content = "开始";await Task.Delay(1000);  // 这里会挂起,线程可能切换// 恢复回来时依然是 UI 线程(默认行为)myButton.Content = "完成";
}

会发现,后面的UI操作 myButton.Content = 依然可以正常 ,他依然前后是在同一个UI线程中。
这里不得不记录一下了
在 C# 的 async/await 机制里

  • await 之前的代码运行在哪个线程,取决于你是在哪个上下文调用的(比如 WPF 中就是 UI 线程)
  • await 的时候,当前方法会“挂起”,然后把控制权返回给调用者。
  • await 之后继续执行时,是否还在原线程,取决于 SynchronizationContext(同步上下文)。

WPF 的情况

http://www.sczhlp.com/news/27133/

相关文章:

  • 万户网站后台控制中心户外广告
  • 天津个人网站建设推广软文代写
  • 西部数码网站管理助手ftp企业推广网
  • 网站建设额广告公司推广方案
  • 保定有那些网站怎么给自己的网站设置关键词
  • AI 辅助写作!一款跨平台 Markdown AI 笔记神器!
  • 硬盘
  • glTF/glb 格式完整指南:3D 模型交付的新标准
  • 财政部美丽乡村建设网站属性词 关键词 核心词
  • 湖南住房和城乡建设厅网站2021年关键词有哪些
  • 网站建设与管理的考试推广活动策划方案范文
  • 昆明做网站建设的公司哪家好营销型网站建设排名
  • 网站做的好赚钱吗关键词的优化方案
  • 天河网站建设哪里好外链seo招聘
  • 企业网站尺寸关键词优化公司排名榜
  • 图文广告设计公司网站seo收费
  • 我要看一集片做网站自动连点器
  • 南京做网站优化价格新手怎么做电商
  • SIM卡接口协议(ISO7816-3)
  • CF2132E题解
  • 佛山市专业的网站设计网站排名优化外包公司
  • 珠海网站推广小时seo
  • 两学一做网站源码微信广告推广价格表
  • 网站在线聊天代码seo方法
  • 做网站赤峰什么是互联网营销
  • 建筑企业信用分查询系统简述搜索引擎优化
  • 学校网站开发的项目背景各大网站收录入口
  • 公告!
  • TypeScript Record类型完全指南:从基础到高级应用
  • 国产 PLM 服务商全景分析:主流六大厂商、技术特点与行业应用