社区
C#
帖子详情
后台运行异常如何不影响主界面?
pfworld
2010-05-31 06:44:36
我在程序运行后台进行本地和远程数据上传,在远程上传异常后主界面老是卡!请问如何处理?
使用:backgroundWorker控件。
在远程上传前,先ping远程主机,如果ping通则进行上传,如果在上传过程中异常,则保存上传数据到本地临时表内,后台还有一个backgroundWorker进行时时信息搜索,如果本地临时表内有数据,则上传临时表内数据。
在运行界面由于数据交互比较多,而且涉及后台运行比较多,大概10来个backgroundWorker进行运行。
...全文
219
18
打赏
收藏
后台运行异常如何不影响主界面?
我在程序运行后台进行本地和远程数据上传,在远程上传异常后主界面老是卡!请问如何处理? 使用:backgroundWorker控件。 在远程上传前,先ping远程主机,如果ping通则进行上传,如果在上传过程中异常,则保存上传数据到本地临时表内,后台还有一个backgroundWorker进行时时信息搜索,如果本地临时表内有数据,则上传临时表内数据。 在运行界面由于数据交互比较多,而且涉及后台运行比较多,大概10来个backgroundWorker进行运行。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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多个线程,也不是很多啊;这个主要看你这些线程都是在做什么操作
是否有特别占用资源的
Qt程序运行后不显示
界面
的问题(
后台运行
)——QSerialPortInfo::availablePorts()
环境 Qt 5.9.7+msvc2017 window win10 关于Qt获取当前串口的简易方法——QSerialPortInfo::availablePorts()中提到的的获取串口的方法,这些天发现有一些问题。 本来正常用是没有问题的,但是突然打开一个以前(几个月前)的程序发现运行后
界面
很久才能出现(几分钟甚至10几分钟),程序没有动过,看任务管理器
后台运行
了,但是没...
android-APP长期运行于后台,重启后如何避免
异常
问题的详细描述是这样的: android中,当我们按home键(一般指手机的物理按钮的中间那个键)回到手机桌面,此时app并没有退出,而是一直运行与后台中,此时如果我们点击app图标,还是会进入刚刚的
界面
之中。但是这存在一个问题,就是如果内存紧张或者当我们回到桌面,点击了别的应用造成内存紧张,此时再通过点击图标进入app,此时会出现
异常
。这样造成的用户感觉非常不好!其实,归纳起来,并不仅仅这种情况
golang 后台进程 daemon方式运行 简介
因为最近用go语言开发了一个websocket服务,启动后需要
后台运行
,还希望
异常
退出时可以自动重启。整体思路是启动程序后,转为
后台运行
,这个后台程序暂且称为守护进程(daemon)。它不处理具体业务逻辑,只是再次按一样的参数调用自身,启动一个子进程,有子进程负责业务逻辑处理。守护进程监视子进程状态,若退出则再次启动一次。如此可以保证服务
异常
中止时可以及时重启。网上找到了一个开源的库,可以很方便保持参数不变另外启动一个后台进程,但如果后台进程再次尝试启动自身为另外一个后台进程,则会出现错误。
Android中APP长期运行于后台,重启后如何避免
异常
。
问题的详细描述是这样的: android中,当我们按home键(一般指手机的物理按钮的中间那个键)回到手机桌面,此时app并没有退出,而是一直运行与后台中,此时如果我们点击app图标,还是会进入刚刚的
界面
之中。但是这存在一个问题,就是如果内存紧张或者当我们回到桌面,点击了别的应用造成内存紧张,此时再通过点击图标进入app,此时会出现
异常
。这样造成的用户感觉非常不好!其实,归纳起来,并不仅仅这种情况...
第010天:APP在后台的运行机制
当然有时候你也 可能不仅仅是为了防止服务被回收掉才使用前台服务的,有些项目由于特殊的需求会要求必须使 用前台服务,比如说彩云天气这款天气预报应用,它的服务在后台更新天气数据的同时,还会在 系统状态栏一直显示当前的天气信息,如图。上一小节中我们学习了启动和停止服务的方法,不知道你有没有发现,虽然服务是在活动里 启动的,但在启动了服务之后,活动与服务基本就没有什么关系了。话说回来,在本章一开始的时候我们就已经知道,服务中的代码都是默认运行在
主
线程当中 的,如果直接在服务里去处理一些耗时的逻辑,就很容易出现。
C#
111,098
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章