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

Net6中遇到的一个很奇葩的问题

先来看一段代码,是控制台应用程序

    internal class Program{static void Main(string[] args){Test().Wait();}private static async Task Test(){await Task.Run(() =>{Debug.WriteLine("线程内输出");});Debug.WriteLine("线程外输出");}}

执行,然后在输出窗口得到

线程内输出
线程外输出

没毛病吧。

再来看第二段代码,是winform应用程序

    internal static class Program{[STAThread]static void Main(){ApplicationConfiguration.Initialize();Test().Wait();var form = new Form1();Test().Wait();Application.Run(form);Test().Wait();}private static async Task Test(){await Task.Run(() =>{Debug.WriteLine("线程内输出");});Debug.WriteLine("线程外输出");}}

其中Form1为新建的窗体类。除了VS自己生成的代码以外,我一个字符都没改。
执行,然后在输出窗口得到

线程内输出
线程外输出
线程内输出

并且,Form1窗口也没有正常弹出。
显然在第二次调用Test()的时候,卡住Task线程里,出不来了。
这时候,我们对代码做一下修改。改为

    internal static class Program{[STAThread]static void Main(){ApplicationConfiguration.Initialize();Test().Wait();var form = new Form1();Test().Wait();Application.Run(form);Test().Wait();}private static async Task Test(){Task.Run(() =>{Debug.WriteLine("线程内输出");}).Wait();Debug.WriteLine("线程外输出");}}

执行,然后在输出窗口得到

线程内输出
线程外输出
线程内输出
线程外输出
线程内输出
线程外输出

且,Form1窗口正常弹出

以上就是今天遇到的问题。原因未知,且不能理解。
猜测与Form底层代码有关。但是没有深入研究。如果那位大神知道原因,望不吝赐教。

相关文章:

Net6中遇到的一个很奇葩的问题

先来看一段代码,是控制台应用程序 internal class Program{static void Main(string[] args){Test().Wait();}private static async Task Test(){await Task.Run(() >{Debug.WriteLine("线程内输出");});Debug.WriteLine("线程外输出");}}执…...

2940. 花坛的最小改变次数

Powered by:NEFU AB-IN Link 文章目录 2940. 花坛的最小改变次数题意思路代码 2940. 花坛的最小改变次数 题意 略 思路 首先需要区间查询gcd,想到st表 其次思路,固定左端点,二分右端点,找gcd与区间长度相等的右端点,个…...

安装源代码 QT 4.8.7

在centos7.9.2009 (Core)操作系统上,安装qt 4.8.7 查看centos版本:cat /etc/centos-release 安装g:sudo yum install gcc gcc-c g版本查看(gcc 版本 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)):g -v 先安装…...

PINN学习与实验之拟合sin(x)

首先给出数学上的知识。 1. 2. 3. 其次给出PINN最基础的理解与应用说明。 1.PINN中的MLP多层感知机的作用? 答:目的是用来拟合出我们需要的那个 常微分方程,即函数逼近器。 2.PINN中物理信息的作用? 答:用于约束MLP反向…...

Java中进制转换的两种方法你知道吗?

目录 十进制转其他进制 其他进制转十进制 实战: A进制转B进制 关于大数运算可以参考躲不掉的高精度计算,蓝桥杯必考_高精度算法在哪些比赛考_无忧#的博客-CSDN博客 十进制转其他进制 使用 Integer.toString(int n,int radix) 方法,该方法…...

Qemu搭建ARM Vexpress开发环境

Qemu搭建ARM Vexpress开发环境 文章目录 Qemu搭建ARM Vexpress开发环境Qemu简介QEMU安装前的准备工作QEMU 安装的两种方式通过网络在线安装源码编译安装源码获取QEMU依赖库安装编译安装 命令选项qemu的标准选项qemu显示选项网络属性相关选项kvm的网络模型 Ubuntu 双网卡&#x…...

JMM如何实现volatile写/读的内存语义

内存屏障类型表 StoreLoad Barriers是一个“全能型”的屏障,它同时具有其他3个屏障的效果。现代的多处理器大多支持该屏障(其他类型的屏障不一定被所有处理器支持)。执行该屏障开销会很昂贵,因为当前处理器通常要把写缓冲区中的数…...

Smali的使用技巧:快速定位Android应用程序中的关键代码

简述 Smali是一种Android应用程序的Dalvik虚拟机指令集汇编语言,用于编写和修改应用程序的DEX文件。通过编写和修改Smali代码,可以实现对Android应用程序的定制化和逆向分析。Smali语言类似于汇编语言,直接操作Dalvik虚拟机指令集。 Smali代…...

04_两种常见的网页反爬措施及应对方法

一、封禁IP地址反爬 1、应对思路: 理解这种反爬方法的含义:当我们用自己电脑的ip地址短时间,高频率访问某个具有此类反爬设置的网站,这种网站就会把我们的ip地址封禁,一般都是封24小时或者其他时间。解决方案:通过代理ip访问,这种方式只不过就是让你有了重新访问网页的…...

安装docker环境,并制作docker镜像

docker环境安装 进入linux虚机后,安装docker环境,制作docker镜像并运行,进入运行中的容器,查看挂载的日志或报告 1.安装docker sudo curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun 2.使用docker仓库安装…...

MySQL数据库 – node使用

1 MySQL查询对象 2 MySQL查询数组 3 mysql2库介绍使用 4 mysql2预处理语句 5 mysql2连接池使用 6 mysql2的Promi 这里仅说明如何使用服务器连接数据库并进行操作。 预处理语句就是可以输入变量的语句(表现形式是有符号:?)。需…...

JAVA使用HTTP代码示例模板

以下是一个使用Java发送HTTP请求的示例代码: java import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; public class HttpExample { public static void main(String[] args) { try…...

elementui tree 支持虚拟滚动和treeLine (下)

​ 由于我之前没有发布过npm 包,这里还得现学一下。 参考资料: 链接: 如何写一个vue组件发布到npm,包教包会,保姆级教学链接: vue组件发布npm最佳实践 按照上面的步骤,我通过 vue-sfc-rollup 生成了项目,…...

富人父母都教给孩子什么样的财富思维?

1.认清金钱的价值和作用,不要否认或忽视它对生活的影响。 2.提高社交能力,学会与不同的人沟通和合作,扩大人脉和资源。 3.理性消费,让钱在流动中产生效益,而不是囤积或浪费。 4.释放自己的欲望,追求自己想要…...

国内比较火的报表工具测评——Smartbi电子表格软件和Finereport

最近在学习BI软件,因为最近工作中需要开发报表,因此选用了国内市场比较热门的报表工具——Finereport和Spreadsheet进行学习。 BI软件经常会定期发布新的版本,增加新的功能模块,或者对现有功能进行增强,提升运行效率。…...

变电所运维云平台在电力系统中的应用

安科瑞虞佳豪 变电所运维云平台可以看做是电力监控系统的网络应用延伸,变电所运维云平台通过互联网,电力运维人员通过手机可以随时随地了解工厂配电系统的运行情况,做到无人值守或者少人值守,同时可以监测用能状况、漏电、线缆异…...

【51单片机】AT24C20数据帧(I2C总线)

🎊专栏【51单片机】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【Love Story】 🥰大一同学小吉,欢迎并且感谢大家指出我的问题🥰 小吉先向大家道个歉,因为最近在期末…...

Python内置函数isinstance()函数介绍

Python内置函数isinstance()函数介绍 isinstance() 函数是Python内置函数,来判断一个对象是否是一个已知的类型,返回值为布尔值True或False。其语法格式: isinstance(object, classinfo) 【官方说法https://docs.python.org/zh-cn/3/librar…...

QxRibbon 知:搭建 CMake 构建环境

文章目录 前言安装 cmake问题处理qtcreator 检测 CMake 异常 参考资料 前言 高版本的 QtCreator 已经集成了 cmake 工具,并支持以 CMakelists.txt 文件作为工程开发项目。 https://www.qt.io/blog/2019/07/30/update-on-cmake-project-support-in-qt-creator 安装…...

Spring框架-面试题核心概念

目录 1.Spring框架的作用是什么? 2. 什么是DI? 3.什么是AOP? 4.Spring常用注解 5.Spring中的设计模式 6.Spring支持的几种bean的作用域 7.Spring中Bean的生命周期? 8.Spring中的事务管理 9.Spring中的依赖注入方式有几种 10.Sprin…...

Tomcat部署及优化

Tomcat部署及优化 一、Tomcat的介绍1.Tomcat核心组件2.Tomcat 功能组件结构3.Container 结构分析:4.Tomcat处理请求过程 二、Tomcat 部署步骤1.关闭防火墙,将安装 Tomcat 所需软件包传到/opt目录下2.安装JDK3.设置JDK环境变量4.编写一个java 简易的源代码…...

C++/C按照时间命名保存bin文件

背景 在Linux应用编程过程中,使用C或者C语言保存、读取bin文件是比较常见的需求。这里详细记录一下使用C保存bin文件,也可以使用C语言实现。 代码 C/C语言保存bin文件函数,C中也能使用 正确写入返回0,错误返回-1 // C 保存bi…...

面向多告警源,如何构建统一告警管理体系?

本文介绍告警统一管理的最佳实践,以帮助企业更好地处理异构监控系统所带来的挑战和问题。 背景信息 在云原生时代,企业IT基础设施的规模越来越大,越来越多的系统和服务被部署在云环境中。为了监控这些复杂的IT环境,企业通常会选…...

python 面向对象 -- 简单理解版

一、什么是面向对象 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的。除了Python,Java也是一门面向对象的编程语言。 先来简单的了解下面向对象的一些基本特征。 类(Class): 用来描述具有相…...

SpringMVC 程序开发

✏️作者:银河罐头 📋系列专栏:JavaEE 🌲“种一棵树最好的时间是十年前,其次是现在” 目录 什么是 Spring MVCMVC 定义 怎么学 Spring MVCSpring MVC 创建和连接创建 Spring MVC 项目RequestMapping 注解介绍PostMappi…...

使用单片机遇到的几个问题及解决方案1

1.为什么我跟着视频学习的过程中,我没有找到“端口"的选项呢?我甚至没有出现“其他插口”。 想要找到设备管理器最快的方法就是: 首先如果把输入法调为大写形式,然后按下“WINX”,再按“M”就会出现一个设备管理…...

vue项目中el-upload 组件添加token的方法

在使用el-upload的时候&#xff0c;上传文件到服务器&#xff0c;有时候后台要求上传token&#xff0c;怎么处理呢&#xff1f;以下是一个示例。 效果图 template中片段 <el-dialog :modal-append-to-body"false" title"上传文件" :visible.sync"…...

独立按键检测短按、长按,松手后响应操作

背景 有项目使用独立按键检测&#xff0c;短按、长按。根据使用效果&#xff0c;发现松手后&#xff0c;也就是按键弹起后响应操作比较好操作。 记得之前&#xff0c;博主写过一篇关于按键的检测的文章&#xff0c;但是过于复杂了。可能很难懂&#xff0c;这里就简单一点&…...

BurpSuite2023测试越权漏洞

BurpSuite2023测试越权漏洞 BurpSuite安装创建项目 - 打开内置浏览器越权漏洞测试问题处理 BurpSuite安装 官网下载社区版并安装&#xff0c;下载地址&#xff1a;链接: https://portswigger.net/burp 安装成功后图标 创建项目 - 打开内置浏览器 打开BurpSuite&#xff0c…...

申请国家标准项目管理专业人员能力评级(CSPM)报名条件有哪些?

2021年10月&#xff0c;中共中央、国务院发布的《国家标准化发展纲要》明确提出构建多层次从业人员培养培训体系&#xff0c;开展专业人才培养培训和国家质量基础设施综合教育。建立健全人才的职业能力评价和激励机制。由中国标准化协会&#xff08;CAS&#xff09;组织开展的项…...

做网站开发语言/徐州网站建设

龙源期刊网 http://www.doczj.com/doc/19d3901b8762caaedd33d4fd.html基于MATLAB的有源滤波器的设计与仿真作者&#xff1a;秦黎来源&#xff1a;《科技创新与应用》2013年第26期摘要&#xff1a;对并联型有源电力滤波器的控制方法进行研究&#xff0c;应用MATLAB软件建立了仿真…...

淄博网络营销网站/域名批量查询注册

近年来&#xff0c;随着科技的快速发展&#xff0c;人工智能不断进入我们的视野中。作为人工智能的核心技术&#xff0c;机器学习和深度学习也变得越来越火。一时间&#xff0c;它们几乎成为了每个人都在谈论的话题。那么&#xff0c;机器学习和深度学习到底是什么&#xff0c;…...

商丘网站建设哪家好/今天的新闻主要内容

题目&#xff1a;https://www.luogu.org/problemnew/show/P3004 一眼看上去就是记忆化搜索的dp。像 一双木棋 一样。 结果忘了记忆化。T了5个点。 然后加上记忆化。MLE。 参考一些&#xff0c;改成循环的dp。还是MLE。哈哈&#xff0c;根本没改数组大小嘛&#xff01; 又参考一…...

网站建设优化论坛/北京seo优化分析

系统更新安装完系统之后&#xff0c;需要更新一些补丁。CtrlAltT调出终端&#xff0c;执行一下代码&#xff1a;$sudo apt-get update$sudo apt-get upgrade卸载libreOfficelibreoffice事ubuntu自带的开源office软件&#xff0c;体验效果不如windows上的office&#xff0c;于是…...

网站备案拍照 广州/怎么查百度搜索排名

新一代可重构ERP系统(转)新一代可重构ERP系统网络化时代&#xff0c;企业对传统ERP提出了新的要求&#xff0c;新一代ERP应运而生&#xff0c;本文简要介绍新一代ERP的发展趋势&#xff0c;同时详细介绍天剑新一代可重构ERP的内容、特点、技术架构、关键技术、系统实现方法和实…...

网站gif素材/百度seo教程

场景分为使用默认 GC&#xff0c;以及使用 ZGC 或者 Shenandoah GC。默认 GC 情况下&#xff0c;虽然超过 32G 是可行的&#xff0c;但是在这个场景下缺乏 JVM 调优经验&#xff0c;可供参考的实例不多&#xff0c;需要对 JVM 有全面深入的理解才能调优好。但是大部分应用可以水…...