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

C# `async/await` 技术笔记

核心概念

  • async:声明方法为异步。
  • await:在异步方法中挂起,等待任务完成后继续。
  • 返回值:只能是 TaskTask<T>void(事件处理器)。

常见用法

  • 延时Task.Delay → 异步等待,不开线程。
  • 后台计算Task.Run → 把任务丢到线程池,开新线程执行。
  • 组合:多个 await 串联,逻辑顺序清晰。

执行流程

  1. 调用异步方法 → 立即返回一个 Task
  2. 遇到 await → 方法挂起,等待任务完成。
  3. 任务完成 → 方法恢复,继续执行后续逻辑。

与 Unity 的关系

  • 协程 (IEnumerator):始终在主线程运行,可直接操作 Unity API。
  • async/await:可能切到后台线程,不能直接操作 Unity 对象。
  • 推荐场景
    • 协程 → 游戏逻辑(动画、延时、逐帧检查)。
    • async/await → 后台计算、网络请求。

对比表

特性 协程 (Coroutine) async/await
运行线程 主线程 主线程或线程池
是否能操作 Unity API ✅ 可以 ❌ 不安全(后台线程)
延时写法 yield return WaitForSeconds await Task.Delay
适合场景 游戏逻辑、动画 耗时计算、IO、网络

📌 一句话总结

  • Task.Delay → 异步等待,不开线程。
  • Task.Run → 新开线程池任务。
  • Unity 协程和 async/await 各有优势,前者适合游戏逻辑,后者适合后台计算。

http://www.jsqmd.com/news/371443/

相关文章:

  • 论文降重指南:7个AI工具实测推荐
  • 降AI率工具怎么用?从上传到出结果手把手教你3步搞定
  • 【易经系列】《蒙卦》六三:勿用取女,见金夫,不有躬,无攸利。
  • 虚拟机工具选择指北
  • Seedance 2.0 完整使用指南:字节最新视频生成模型的两种开通方案
  • 时序数据库选型深度指南:从大数据视角与主流产品对比,聚焦Apache IoTDB
  • 55261
  • Java异常处理深度解析:从原理到最佳实践
  • 所以我放弃了OI
  • STM32_GPIO输入
  • Gemini无法使用问题解决
  • 5大AI论文写作网站排名,告别选择困难
  • USBASP应用PROGISP的问题:都是时钟速度惹的祸
  • 完整教程:Scala 泛型
  • 2026年降AIGC率用什么工具好?花了200块实测出这份清单
  • 毕业论文神器:5个AI写作平台横向对比
  • 毕业论文AI写作工具如何选?5个高口碑平台推荐
  • 2026年AI率从96%降到0%可能吗?亲历者分享完整降AI流程
  • Docker 入门看这一篇就够了:从 0 到部署 Java 和 Node 项目实战
  • 学术救星:7个AI降重工具精准评测
  • AI写论文工具怎么挑?5个优质网站盘点
  • 论文必备:7款高效AI降重工具推荐
  • 高校科研成果转化的生态协同之道——科技与产业共赢的新篇章
  • AI辅助毕业论文写作?这5个网站最实用
  • 构建区域创新生态,推动科技成果转化——从传统困局到协同共赢
  • AI核心知识97——大语言模型之 DL(简洁且通俗易懂版)
  • 毕业论文必备!5款AI写作工具实测排名
  • 人工智能逐渐替代我们的工作,我们怎么做比较好?
  • AI核心知识98——大语言模型之 Generative AI(简洁且通俗易懂版)
  • tkinter可以做出多复杂的界面?