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

winform+Task+async

一个有意思的问题:

假设一个winform程序,需要运行异步任务进行业务处理,那么最常见的实践方式是怎样的?

那肯定是task+async呀,对,就是这样,但如果想让windows 挂载这个程序,使用命令行运行,那么原有的方法还可行吗?比如以下代码:

 private void Form1_Load(object sender, EventArgs e){LogHelper.WriteLog("", "", "Form1_Load");var args = Environment.GetCommandLineArgs();if (args != null && args.Length> 1){if (args.Contains("-a")){Task ts = Task.Run(async () =>{//...
             });ts.ContinueWith(t => {LogHelper.WriteLog("", "", "end");Application.Exit();});}}}    

答案是不行的,因为task运行的是异步任务,那么这个异步任务是交给后台线程处理的,而task会立即返回,从而触发ContinueWith,从而关闭整个程序。

而理解了这一点,就会明白了,其实非常简单,既然是task运行异步任务,那么就在异步任务运行后再执行ContinueWith好了,于是在task后添加一行代码:

ts.Wait();

添加此行代码后,程序在被调用时会始终等待异步处理结果,一旦处理完成,则会自动结束程序。

http://www.rkmt.cn/news/24565.html

相关文章:

  • 消防局的设立
  • 2025年精密弹簧厂家推荐排行榜,微型精密弹簧,不锈钢精密弹簧,高弹性精密弹簧公司推荐!
  • 2025网络推广服务推荐:云数智推,专业定制化营销解决方案!
  • 详细介绍:遥感目标检测数据集汇总,覆盖城市问题/工业安全/农业健康/室内场景……
  • 2025年氧化镁厂家最新推荐排行榜,活性氧化镁,肥料级氧化镁,优质供应与技术实力之选!
  • DAO模式代码阅读及应用
  • CSP-S2023题解
  • 2025年家居ERP/MES/CRM厂家推荐榜单,家居ERP系统,家居MES软件,家居CRM产品,全面解析与选购指南!
  • 使用autoDL gpu云服务器训练yolo的常用操作 - 东南西北风
  • 2025年通风天窗/排烟天窗/通风气楼厂家最新推荐榜单,屋顶通风器/顺坡气楼/10A/1型/TC5A/TC12B/屋脊通风天窗公司推荐!
  • 2025 年涡轮流量计厂家企业品牌推荐排行榜,揭秘行业前十优质品牌涡轮流量计公司推荐
  • 2025 年涡街流量计厂家企业品牌推荐排行榜,实力铸就良好口碑涡街流量计公司推荐
  • 2025解冻设备厂家推荐:科恩冷链低温高湿射频解冻技术领先!
  • 完整教程:Linux基本使用(Ubuntu)
  • 完整教程:基于蓝耘元生代MaaS平台DeepSeek-V3.2-Exp与V3.1-Terminus模型对比测评:性能相近,价格大幅下降
  • JAVA基础的ATM机存款项目
  • 实用指南:Matlab通过GUI实现点云的GICP配准
  • 2025年粉末涂料厂家推荐排行榜,广东粉末,绝缘粉,钣金粉,烤漆粉,专业品质与市场口碑深度解析!
  • 【容器日志采集】【 四】消费kafka保存到es
  • 嵌入式实验3串口通信---任务二串口传输文件实验
  • 【容器日志采集】【三】创建daemonsets采集日志发送到kafka
  • 2025年保洁公司权威推荐榜单:驻场/钟点/开荒/外包/商场/办公楼/工厂/医院/企业保洁服务优选指南
  • 深入解析:Spring Cloud Netflix Eureka:从微服务基础到高可用集群实战
  • 别看我只是一只羊
  • 2025年智能照明系统/模块厂家推荐排行榜,工厂/改建/车间/高亮/高光效/泛光/免维护/投光/大功率智能照明系统/模块公司精选!
  • 2025.10.19——1绿1蓝
  • 26-wsl-nginx-chinese-encoding-fix
  • win10-减少广告的三个操作
  • 变量名越怪,JVM 越快?
  • Visual Studio Code 初步配置指南(Windows端)