vue项目安装less和less-loader取决于运行后错误报告的解决方法
由于安装的less和less-loader版本过高导致出错,解决方法如下: 1.配合node.js,卸载当前版本的less和less-loader 在vue_shop目录下shift+鼠标右键,打
顺晟科技
2021-08-28 09:39:46
73
今天,在使用C#的winform开发串口读写程序时,又因为需求而创建了另一个子线程。当主窗体关闭,关闭程序再次启动时,表明串口被占用。经过一番搜索,发现之前关闭表单后,程序在这个过程中并没有完全关闭。
针对这个问题,找到了一些数据,将C#中WinForm表单程序的退出方法总结如下:
1.这个。Close():只要关闭当前窗口,如果不是主窗体,就不能退出程序,如果有托管线程(非主线程),就不能干净利落地退出;
2.申请。Exit():强制所有消息中止并退出所有表单,但如果有托管线程(非主线程),则无法干净退出;
3.申请。exitsthread():强制中止调用线程上的所有消息,同时也面临其他线程无法正确退出的问题;
4.系统。Environment.Exit(0):这是最彻底的退出方式,无论强制退出什么线程,程序都干净利落地完成了。
根据以上三种方法(不考虑this.close()方法),测试代码创建如下:
公共部分类表格1 :表格
{
公共表单1()
{
InitializeComponent();
//打开子线程
this . back thread();
}
/*
*打开子线程
*/
私有void backThread()
{
thread start thread=new thread start(back pro);//线程启动委托
Thread Thread=new Thread(Thread start);
线。优先级=线程优先级。正常;
线。IsBackground=false
//启动子线程
线。start();
}
/*
*子线程处理方法
*/
公共void backPro()
{
虽然(真)
{
线程。睡眠(1000);
}
}
私有void Form1_FormClosing(对象发送方,FormClosingEventArgs e)
{
//应用。exit();//无法完全关闭进程
//应用。exit thread();//无法完全关闭进程
系统。环境。退出(0);//完全关闭进程
}
}
上述代码的测试结果如下:
1.该程序可以完全关闭,而无需打开子线程
2.打开子线程后,应用程序。退出()和应用程序。ExitThread()方法无法完全关闭程序,在任务管理器的“进程”中仍然可以看到进程没有关闭;仅系统。环境。退出(0)可以完全关闭程序
29
2021-08
29
2021-08
28
2021-08
28
2021-08
28
2021-08
28
2021-08