社区
C#
帖子详情
后台运行异常如何不影响主界面?
pfworld
2010-05-31 06:44:36
我在程序运行后台进行本地和远程数据上传,在远程上传异常后主界面老是卡!请问如何处理?
使用:backgroundWorker控件。
在远程上传前,先ping远程主机,如果ping通则进行上传,如果在上传过程中异常,则保存上传数据到本地临时表内,后台还有一个backgroundWorker进行时时信息搜索,如果本地临时表内有数据,则上传临时表内数据。
在运行界面由于数据交互比较多,而且涉及后台运行比较多,大概10来个backgroundWorker进行运行。
...全文
287
18
打赏
收藏
后台运行异常如何不影响主界面?
我在程序运行后台进行本地和远程数据上传,在远程上传异常后主界面老是卡!请问如何处理? 使用:backgroundWorker控件。 在远程上传前,先ping远程主机,如果ping通则进行上传,如果在上传过程中异常,则保存上传数据到本地临时表内,后台还有一个backgroundWorker进行时时信息搜索,如果本地临时表内有数据,则上传临时表内数据。 在运行界面由于数据交互比较多,而且涉及后台运行比较多,大概10来个backgroundWorker进行运行。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jianuMan
2010-06-21
打赏
举报
回复
数据处理用多线程
捷哥1999
2010-06-21
打赏
举报
回复
你应该是在backgroundWorker处理不当导致的!
而且是否需要那么多的backgroundWorker,你需要仔细再考虑一下,优化设计!
下面是一个使用后台线程处理的例子,希望对你有帮助!
Another way to Invoke UI from a Worker Thread
运行效果图:
birdlonger
2010-06-21
打赏
举报
回复
10个backgroundworker 不多, 应该是你里面的界面操作太频繁了. MARK & UP
pfworld
2010-06-21
打赏
举报
回复
回复又分!!自己UP!
pfworld
2010-06-06
打赏
举报
回复
回复又分!!自己UP!
afeng124
2010-06-02
打赏
举报
回复
考虑一下7楼的意见
程序漫步
2010-06-02
打赏
举报
回复
楼主吧 要把异常抓住,,放出来看下 就明白来
pfworld
2010-06-02
打赏
举报
回复
自己UP一下!!回复又分!!
kimmking
2010-06-02
打赏
举报
回复
1、看看性能监视器,看在哪儿了。数据库操作,本地io,还是计算,或者网络io,或是轮询太频繁。
2、同意sp1234,太多了。
以专业开发人员为伍
2010-05-31
打赏
举报
回复
[Quote=引用楼主 pfworld 的回复:]
在运行界面由于数据交互比较多,而且涉及后台运行比较多,大概10来个backgroundWorker进行运行。[/Quote]废话懒得说了!在
1个或者2个
里边进行!
Joetao
2010-05-31
打赏
举报
回复
曾今记得用过Application.DoEvents(),楼主试一下Application.DoEvents()
如果你不用DOEVERNTS,一个处理上万条数据的程序,在处理完之前就会像是死机,你不管点什么,它会说不响应。。。所以,你如果想执行到一半取消,就只能用结束任务。。
不过加上DOEVENTS,虽然每 个循环时间长了点,不过多出的时间用来响应你其它的操作。。可以在任意时刻结束工作,不会出现不响应的事件。。
参看
http://topic.csdn.net/t/20040802/16/3235042.html
onenewsmile
2010-05-31
打赏
举报
回复
示例:
while(true)
{
try
{
//可能存在异常的代码
}
catch
{
//不做处理
}
}
这样可以直接跳过异常而不影响速度
wanghuaide
2010-05-31
打赏
举报
回复
global.asax 文件中
protected void Application_Error(Object sender, EventArgs e)
wuyq11
2010-05-31
打赏
举报
回复
锁死界面应该更新太频繁了
Application.DoEvents()
皇城龙三
2010-05-31
打赏
举报
回复
捕捉一下异常,看看
跟踪一下程序,看看哪里有错误
xiaofan_sap
2010-05-31
打赏
举报
回复
进程资源占用过多造成的,lz应该跟踪看看~
zhgroup
2010-05-31
打赏
举报
回复
UI比较卡,是不是后台线程运行占用资源较高,还是你的机器配置不行呢?
另外,后台运行10多个线程,也不是很多啊;这个主要看你这些线程都是在做什么操作
是否有特别占用资源的
Java运行时
异常
和非运行时
异常
本文深入解析Java
异常
机制,包括
异常
的分类、运行时
异常
与非运行时
异常
的区别、finally关键字的作用及常见RuntimeException的实例。
java运行时
异常
有哪些_Java运行时
异常
和非运行时
异常
Java
异常
分为Error和Exception,Error通常指虚拟机相关问题,无法恢复。Exception分为运行时
异常
和非运行时
异常
。运行时
异常
如NullPointerException,可以不处理,但非运行时
异常
(检查
异常
)如IOException必须捕获或声明。不处理运行时
异常
可能导致程序中止或
主
程序退出,而非运行时
异常
则需强制处理。
运行时
异常
和非运行时
异常
本文深入探讨Java
异常
处理机制,区分可查与不可查
异常
,详解运行时与非运行时
异常
特性及处理原则,助您掌握Java
异常
管理核心概念。
运行时
异常
和编译
异常
本文详细介绍了Java中的
异常
处理,包括
异常
的概念、Error和Exception的分类、常见的运行时和编译时
异常
。重点讲述了
异常
处理机制,如try-catch-finally语句的使用,以及如何通过throws关键字抛出
异常
。同时,文章还讨论了自定义
异常
的创建以及throw和throws的区别。最后,强调了
异常
处理的最佳实践,如编译
异常
的强制处理和运行时
异常
的处理策略。
通俗理解运行时
异常
和非运行时
异常
(一般
异常
)
本文详细介绍了Java中的
异常
处理机制,包括Error和Exception的区别,运行时
异常
与非运行时
异常
的异同,以及Java如何处理这两种
异常
。
异常
分为运行时
异常
(如NullPointerException、ArrayIndexOutOfBoundsException)和非运行时
异常
(如IOException、SQLException),运行时
异常
不需要强制捕获,而非运行时
异常
则需要。Java编译器要求对非运行时
异常
进行处理,确保程序的健壮性。
C#
111,129
社区成员
642,540
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章