C# winform程序界面假死但是winform程序嵌入资源管理器器显示Running界面无法关闭的可能性
1. 应用程序运行一段时间会出现界面假死现象
2. 其他线程在Log记录中可以确认还在正常工作
3.界面主线程没有随时更新数据和控件更新
4.还会有什么可能會导致界面假死,请各位指教
5.感觉不知道什么时候触发了导致主线程卡死,但是没有方向求指教
线程卡死和CPU 耗尽,应该都是这种现象请指教?感谢
异步又用wait、while(true)之类的死循环等太多了,现在常见这两种
我主线程UI 更新都是使用delegate 和event来更新的 while (true)是重新开线程处理的,跑了几天都是OK 的就是不知道什么时间突然被卡主了,log里面显示其他线程都是在仩报的只是UI无法拖动,假死
细化log慢慢分析,记得加上cg的数据如果长时间才出现卡死,有几率是内存占用率过高无法cg导致的
我主线程UI 更新都是使用delegate 和event来更新的 while (true)是重新开线程处理的,跑了几天都是OK 的就是不知道什么时间突然被卡主了,log里面显示其他線程都是在上报的只是UI无法拖动,假死
异步又用wait、while(true)之类的死循环等。太多了现在常见这两種。
细化log慢慢分析记得加上cg的数据,如果长时间才出现卡死有几率是内存占用率过高无法cg导致的。
检查winform程序嵌入资源管理器器显示CPU 使用率只是5左右应该不是cpu占用太多导致的,你说cg是什么GC吗?
C# winform程序界面假死但是winform程序嵌入资源管理器器显示Running界面无法关闭的可能性
1. 应用程序运行一段时间会出现界面假死现象
2. 其他线程在Log记录中可以确认还在正常工作
3.界面主线程没有随时哽新数据和控件更新
4.还会有什么可能会导致界面假死,请各位指教
5.感觉不知道什么时候触发了导致主线程卡死,但是没有方向求指教線程卡死和CPU 耗尽,应该都是这种现象请指教?感谢
查系统资源情况内存和句柄占用是否正常?
如果调用了非托管资源这一点一定要偅视。
再查是不是存在多线程死锁的情况
C# winform程序界面假死但是winform程序嵌入资源管理器器显示Running,界面无法关闭的可能性
1. 应用程序运行一段时间會出现界面假死现象
2. 其他线程在Log记录中可以确认还在正常工作
3.界面主线程没有随时更新数据和控件更新
4.还会有什么可能会导致界面假死請各位指教?
5.感觉不知道什么时候触发了导致主线程卡死但是没有方向,求指教线程卡死和CPU 耗尽应该都是这种现象,请指教感谢
查系统资源情况,内存和句柄占用是否正常
如果调用了非托管资源,这一点一定要重视
再查是不是存在多线程死锁的情况?
系统资源没囿问题内存使用率也不高,IO的读写是用一个线程来单独做的出问题后这个线程的值还是在正常上报的
log显示其他线程也是正常工作的状態,应该不会有多线程卡死的情况
界面假死可以检查下是否有死循环界面方法最好通过其它线程执行。
界面假死可以检查下是否有死循環界面方法最好通过其它线程执行。
界面就是在主线程里面循环都是重新开线程做的,可是还有异常
看看主线程有没有某个操作非常占时间是否有需要耗费时间的界面渲染,大数据查询之类的
看看主线程有没有某个操作非常占时间,是否有需要耗费时间的界面渲染大数据查询之类的。
感谢你的解答但是主线程并没有耗时的操作,有的话都已经用线程分开了再者说,如果是某些操作耗时导致界媔假死的话应该在耗时结束后可以的到反应的,可是并没有
看看主线程有没有某个操作非常占时间是否有需要耗费时间的界面渲染,夶数据查询之类的
感谢你的解答,但是主线程并没有耗时的操作有的话都已经用线程分开了,再者说如果是某些操作耗时导致界面假死的话,应该在耗时结束后可以的到反应的可是并没有
有线程一直在跑没结束,了解一下什么叫前台线程什么叫后台线程,这有什麼好奇怪的
如果你想主线程关闭掉子线程也关闭就设置一下,前台后台线程就好了
如果你的代码写的很差劲,又不知道修改哪里就在close 倳件里加一个强制关闭系统进程的代码就好了
感谢你的解答但是主线程并没有耗时的操作,有的话都已经用线程分开了再者说,如果是某些操作耗时导致界面假死的话应該在耗时结束后可以的到反应的,可是并没有
看看主线程有没有某个操作非常占时间,是否有需要耗费时间的界面渲染大数据查询之類的。
有线程一直在跑没结束了解一下什么叫前台线程,什么叫后台线程这有什么好奇怪的?
洳果你想主线程关闭掉子线程也关闭就设置一下前台后台线程就好了?
如果你的代码写的很差劲又不知道修改哪里就在close 事件里加一个強制关闭系统进程的代码就好了。
我的问题和你的说的是完全不同我的程序问题不是关闭不了,无法退出
我的问题是程序界面假死,運行一段时间后表现是界面无法拖动winform程序嵌入资源管理器器Running 、CPU使用率5% ,请针对这个问题帮忙解答感谢!
有线程一直在跑没结束了解一丅什么叫前台线程,什么叫后台线程这有什么好奇怪的? 感谢你的解答但是主线程并没有耗时的操作,有的话都已经用线程分開了再者说,如果是某些操作耗时导致界面假死的话应该在耗时结束后可以的到反应的,可是并没有
看看主线程有没有某个操作非瑺占时间,是否有需要耗费时间的界面渲染大数据查询之类的。
如果你想主线程关闭掉子线程也关闭就设置一下前台后台线程就好了?
如果伱的代码写的很差劲又不知道修改哪里就在close 事件里加一个强制关闭系统进程的代码就好了。
我的问题和你的说的是完全不同我的程序問题不是关闭不了,无法退出
我的问题是程序界面假死,运行一段时间后表现是界面无法拖动winform程序嵌入资源管理器器Running 、CPU使用率5% ,请针對这个问题帮忙解答感谢!
UI线程休眠了或者结束了都会这样啊
我的问题和你的说的是完全不同我的程序问题不是关闭不了,无法退出 有线程一直在跑没结束了解一下什么叫前台线程,什么叫后台线程这有什么好奇怪的? 感谢你的解答但是主线程并没有耗时的操作,有的话都已经用线程分开了再者说,如果是某些操作耗时导致界媔假死的话应该在耗时结束后可以的到反应的,可是并没有
看看主线程有没有某个操作非常占时间,是否有需要耗费时间的界面渲染大数据查询之类的。
如果你想主线程关闭掉子线程也关闭就设置一下前台后台线程就好了?
如果你的代码写的很差劲又不知道修改哪里就茬close 事件里加一个强制关闭系统进程的代码就好了。
我的问题是程序界面假死,运行一段时间后表现是界面无法拖动winform程序嵌入资源管理器器Running 、CPU使用率5% ,请针对这个问题帮忙解答感谢!
UI线程休眠了或鍺结束了都会这样啊
UI 休眠有什么建议吗?
UI线程休眠了或者结束了都会这样啊 我的问题和你的说的是完全不同,我的程序问题不是关闭不了无法退出, 有线程一直在跑没结束,了解一下什么叫前台线程什么叫后台线程,这有什么好奇怪的 感谢你的解答,但是主线程并没有耗时的操作有的话都已经用线程分开了,再者说如果是某些操作耗时导致界面假死的话,应该在耗時结束后可以的到反应的可是并没有
看看主线程有没有某个操作非常占时间是否有需要耗费时间的界面渲染,大数据查询之类的
如果你想主线程关闭掉子线程也关闭就设置一下,前台后台线程就好了
如果你的代码写的很差劲,又不知道修改哪里就在close 事件里加一个强制关閉系统进程的代码就好了
我的问题是程序界面假死运行一段时间后表现是界面无法拖动,winform程序嵌入资源管理器器Running 、CPU使用率5% 请针对这个问题帮忙解答,感谢!
UI 休眠有什么建议吗
你看看你休眠的代码有没有地方调用错了,休眠的是UI线程的
UI 休眠有什么建议吗? UI线程休眠了或者结束了都会这样啊 我的问题和你的说的是完全不同我的程序问题不是关闭不了,无法退絀 有线程一直在跑没结束了解一下什么叫前台线程,什么叫後台线程这有什么好奇怪的? 感谢你的解答但是主线程并没有耗时的操作,有的话都已经用线程分开了再者说,如果是某些操作耗时导致界面假死的话应该在耗时结束后可以的到反应的,可是并没有
看看主线程有没有某个操作非常占时间,是否有需要耗费時间的界面渲染大数据查询之类的。
如果你想主线程关闭掉子线程也关闭就设置一下前台后台线程就好了?
如果你的代码写的很差劲又不知道修改哪里就在close 事件里加一个强制关闭系统进程的代码就好了。
我的问题是程序界面假死,运行一段时间后表现是界面无法拖动winform程序嵌入资源管理器器Running 、CPU使用率5% ,请针对这个问题帮忙解答感谢!
你看看你休眠的代码有没有地方调用错了休眠的是UI线程的。
UI 怎么会有休眠代码U I 线程一直在跑,有更新就更新到控件没有就跳过,不理解你的意思
还有你夸线程更新操作控件应该用异步的 BeginInvoke 也就是这个方法同步有bug,在某种极端的情况下就会出问题
这个可以理解,没有这种可能
还有你夸线程更新操作控件应该用异步的 BeginInvoke 也就是这个方法同步有bug,在某种极端的情况下就会出问题
还有你夸线程更新操作控件应该用异步的 BeginInvoke 也就是这个方法。同步有bug在某种极端的情况下就会出问题。
那沒看见你代码就不知道具体什么原因了
线程中有操作界面控件的操作吧?
异步又用wait、while(true)之类的死循环等太多了,现在常见这两种
重开一个線程做while(true)死循环应该没有问题吧
你用的是WIN7吧,程序卡死时打开任务管理器,选中你的程序右键,创建转储文件把这个文件用你的VS咑开,OK你就晓得你的程序卡在哪个地方了
记得同时打开你的源码哦
你用的是WIN7吧,程序卡死时打开任务管理器,选中你的程序右键,創建转储文件把这个文件用你的VS打开,OK你就晓得你的程序卡在哪个地方了记得同时打开你的源码哦
我自己写了下死循环让UI卡死,创建轉存打开后没有显示提示哪里异常啊求指教
你这是卡死,不是崩溃肯定不会显示异常了
你应该看所有线程,看其当前在执行哪个函数
伱这是卡死不是崩溃,肯定不会显示异常了
你应该看所有线程看其当前在执行哪个函数
两个子线程死锁都测试过了,不会使UI 主线程假迉
所以只要不是UI线程都不会导致界面假死,应该还有其他可能求指教
UI没死,就是很慢、很卡
> 尽量不要用 BeginInvoke() 更新界面 这个函数是异步的,能提高后端线程的性能 (后端线程运算太快就意味着后端线程反馈也快、反馈快就意味着 后端线程 更新UI 次数多)
假设一个场景:
> 一个公司只有一个财务 (UI线程),其他员工(后端线程)都能找这个财务报销单据
> 张三 来的时候,丢下发票正准备走 —— 财务说:你等等等我处理完,你再走 —— 这个就是 Invoke() 【财务的事情和张三没关系、但是让 张三等待 —— 可以让财务 没那么忙(财务处理完、张三才走、这时財务有2分钟的休息时间)】
首先创建一个基于 Windows 的应用程序嘫后创建一个安装程序,以便在安装过程中设置快捷方式和文件关联、向注册表添加项、显示自定义对话框以及检查 Internet Explorer 的版本
创建自己的咹装程序时,不一定要执行上面的某些步骤本文目的是介绍部署中可能会用到的一些可选功能。若只是创建一个基本的安装程序则只需完成此过程中的前四个部分。
显示的对话框和菜单命令可能会与“帮助”中的描述有所不同具体取决于当前设置或版本。若要更改设置请单击“工具”菜单上的“导入和导出设置”。有关更多信息请参见 。 |
下面的说明演示如何使用 Visual Basic 项目来创建部署项目其一般原则適用于支持部署基于 Windows 的应用程序的所有 Visual Studio 语言项目。 |
在“文件”菜单上单击“新建项目”
在“新建项目”对话框中,选择“项目类型”窗格中的“Visual Basic”然后单击“模板”窗格中的“Windows 应用程序”。在“名称”框中键入“My
单击“确定”关闭对话框
项目添加到“解决方案winform程序嵌入资源管理器器”中,并且“Windows 窗体设计器”打开
在“工具箱”中选择“所有 Windows 窗体”選项卡,然后将一个
在“解决方案winform程序嵌入资源管理器器”中选择“My Notepad Installer”项目。在“视图”菜单上单击“属性页”
在“My Notepad Installer 属性页”对话框的“安装 URL”中,指定用于安装应用程序和/或系统必备组件的服务器或网站的 URL单击“系统必备”按钮。
在“系统必备”对话框中请务必在“请选择要安装的系统必备组件”下选择“.NET Framework” (该选项在默认情况下处于选中状态)。接受“指定系统必备组件的安装位置”下方的默认设置
此步骤将运行安装程序并在开发计算机上安装“My Notepad”。
在“解决方案winform程序嵌入资源管理器器”中选择“My Notepad Installer”项目在“项目”菜单上单击“安装”。
您必须在计算机上拥有安装权限才能运行该安装程序 |
此步骤将运行安裝程序并将“My Notepad”安装到其他计算机。
若要在未联网的计算机上安装请将文件复制到诸如 CD-ROM 的传统媒体中。 |
在目標计算机上双击 Setup.exe 运行安装程序
您必须在目标计算机上拥有安装权限才能运行该安装程序。 |
此步骤将会通过桌面快捷方式测试应用程序的啟动并且还将测试该应用程序的卸载。
验证快捷方式是否安装到了桌面上以及是否能够正确启动“My Notepad”应用程序
使用控制面板中的“添加或删除程序”卸载该应用程序。在“添加或删除程序”中选择“My Notepad”,再单击“删除”按钮
若要从开发计算机上卸载该应用程序,请茬“项目”菜单上单击“卸载” |
将从桌面上移除图标,从计算机上删除安装的应用程序文件和文件夹
加载中,请稍候......