winform+Task+async

news/2025/10/19 19:00:46/文章来源:https://www.cnblogs.com/jizhong/p/19151258

一个有意思的问题:

假设一个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.mzph.cn/news/940539.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI元人文:跨学科视野下的人工智能伦理新范式

AI元人文:跨学科视野下的人工智能伦理新范式 引言 在人工智能技术快速发展的当下,传统"价值对齐"方法在应对复杂伦理问题时显现出局限性。基于规则逻辑的AI伦理框架难以有效处理现实世界中多元价值的动态博…

Rust 开发最佳实践(Rustlang Best Practices)

Rust 开发最佳实践(Rustlang Best Practices) Rust 是一门系统编程语言,强调安全性、并发性和性能。为了充分发挥 Rust 的优势,开发者应遵循一系列最佳实践,涵盖代码结构、错误处理、并发、测试、文档和性能优化等…

Why dont Japanese people reply to messages

Responding to messages is a respectful attitude! Actually, I also dont want to reply to any message either, Im just afraid of being seen as an indifferent people. But humans themselves are inherently i…

20232322 2025-2026-1 《网络与系统攻防技术》实验二实验报告

一.实验内容理解后门概念:不经过正常认证流程而访问系统的通道学习使用各类工具如netcat、socat、cron、MSF meterpreter等软件的使用方法掌握后门原理和构造、利用方法基础问腿回答: (1)例举你能想到的一个后门进入…

消防局的设立

消防局的设立 问题描述 由题意知,及给定一颗树,若节点内建立消防站,周围两个内均不需要建立消防站,问至少需要多少个消防站才能让整个树不发生不可控的火灾? 思路 f[x][0]:至少让x向上2层之下都覆盖信号的答案。…

20232301郑好 实验二 后门原理与实践

20232301郑好 实验二 后门原理与实践20232301郑好 实验二 后门原理与实践 备份于: 2025-10-13 19:56 实验2 后门原理与实践 一、实验内容 1.实践目标 (1)使用netcat获取主机操作Shell,cron启动某项任务(任务自定) P…

2025年复合钢丝网厂家推荐排行榜,昆山高精密网版,复合钢丝网公司精选!

2025年复合钢丝网厂家推荐排行榜,昆山高精密网版,复合钢丝网公司精选!随着工业技术的不断进步和市场需求的多样化,复合钢丝网和高精密网版在多个行业中的应用越来越广泛。为了帮助筛选昆山复合钢丝网,高精密网版品…

关于从使用blender编辑ue动画的设置

关于从使用blender编辑ue动画的设置目前摸索出了一套完整的ue5->blender->ue5的方案,拿的是ue5的小人做的实验, 先明确下俩者的坐标系:blender y轴向上,z轴向前, ue5: z轴向上,y轴向前。 UE5,使用force…

2025 年中国超声波流量计行业品牌全景分析报告:十大高性能品牌技术、性能与市场优势深度解析

本报告依托 2025 年超声波流量计行业权威数据,联合仪器仪表行业协会、计量器具质量监督检验中心等专业机构的测评结果,从技术创新、性能表现、市场布局三大核心维度,对行业内十大品牌展开全景式解析。内容聚焦品牌核…

2025年精密弹簧厂家推荐排行榜,微型精密弹簧,不锈钢精密弹簧,高弹性精密弹簧公司推荐!

2025年精密弹簧厂家推荐排行榜:微型精密弹簧、不锈钢精密弹簧及高弹性精密弹簧公司推荐随着工业技术的不断进步,精密弹簧在各个领域的应用越来越广泛。从微型精密弹簧到不锈钢精密弹簧,再到高弹性精密弹簧,这些产品…

Python 潮流周刊#73:让我们对 PyPI 温柔一点,好吗?

这里分享的是 Python 潮流周刊免费开源的往期全文,原文发布于一年前。我们的付费专栏内容在发布一年后会免费开源,不少内容依然值得回看,愿大家读有所获。点击文末“阅读原文”,在网页里查看,体验更佳。温馨提示:…

2025网络推广服务推荐:云数智推,专业定制化营销解决方案!

2025网络推广服务推荐:云数智推,专业定制化营销解决方案!随着互联网技术的飞速发展,网络推广、网络营销和网络营销推广已成为企业获取客户、提升品牌影响力的重要手段。然而,当前这一领域面临着诸多技术挑战,南京…

React+Three.js 实现 Apple 2025 热成像 logo

本文将基于 React + Three.js + GLSL 的相关知识,实现 Apple 2025 动态热成像 logo 效果。通过本文的阅读和学习,你将学习到的知识点包括:离屏渲染技术 FBO、交互事件与动态参数控制、Leva 控制面板的应用、视频纹理…

详细介绍:遥感目标检测数据集汇总,覆盖城市问题/工业安全/农业健康/室内场景……

详细介绍:遥感目标检测数据集汇总,覆盖城市问题/工业安全/农业健康/室内场景……pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; fon…

学习华为昇腾AI教材人工智能研发框架部分Day2

学习华为昇腾AI教材人工智能研发框架部分Day2pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &qu…

实用指南:WebSocket和长轮询技术在实时性和资源消耗方面有哪些具体的数据对比?

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025年氧化镁厂家最新推荐排行榜,活性氧化镁,肥料级氧化镁,优质供应与技术实力之选!

2025年氧化镁厂家最新推荐排行榜,活性氧化镁,肥料级氧化镁,优质供应与技术实力之选!随着科技的不断进步和工业需求的日益增长,氧化镁、活性氧化镁及肥料级氧化镁在各个行业中的应用越来越广泛。为了帮助采购商筛选…

完整教程:【无人机】无人机群在三维环境中的碰撞和静态避障仿真(Matlab代码实现)

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

DAO模式代码阅读及应用

DAO模式代码阅读及应用项目名称 DAO模式代码阅读及应用课程名称 Java程序设计班级 网安XXX指导教师 郑如滨学生姓名 王嘉熙学号 202421336061一、StudenDaoListlmpl.java与StudentDaoArraylmpl.java有何不同?1.Studen…

数据采集与融合作业1

第一题: 核心代码及运行结果点击查看代码 import requests from bs4 import BeautifulSoup import pandas as pd import redef main():"""主函数 - 包含所有爬虫功能"""url = "ht…