社区
C++ Builder
帖子详情
线程执行中,如何让主窗体正常响应
littlefish0101
2008-12-06 06:58:19
在我的程序中,有一个发送数据线程、一个接受数据线程、一个处理数据的线程。发送数据和接受数据的线程在执行的时候都不影响主UI线程,在处理数据的时候,主界面上的按钮响应比较慢,我应该在处理数据的线程中做什么处理呀?三个线程的优先级都是Normal。
...全文
125
17
打赏
收藏
线程执行中,如何让主窗体正常响应
在我的程序中,有一个发送数据线程、一个接受数据线程、一个处理数据的线程。发送数据和接受数据的线程在执行的时候都不影响主UI线程,在处理数据的时候,主界面上的按钮响应比较慢,我应该在处理数据的线程中做什么处理呀?三个线程的优先级都是Normal。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
EagleFew
2008-12-09
打赏
举报
回复
[Quote=引用 12 楼 littlefish0101 的回复:]
引用 10 楼 EagleFew 的回复:
进程至少拥有一个线程,进程在创建之后就有一个线程,如果是UI 程序的话,负责处理UI 或者事件响应的那个线程(也就是处理消息循环的那个线程)就称作主线程,而由用户或者系统再创建的其它的线程就称作工作线程.
另外,不知道你处理的时候怎么处理的.你说一个大数组,假如这个循环处理的话,循环完这个数组本身就可能耗费相当的时间
我有一个疑问,是不是一个大数组在线程中循环处理的时候,即使耗…
[/Quote]
我看成以为是主线程处理数据了.
littlefish0101
2008-12-09
打赏
举报
回复
在程序中,我要把一部分数据在ListView中显示,还要以报警灯的形式显示,但是今天在调试的发现,ListView更新的太快了,报警灯就不能正常显示了。报警灯是我根据情况LoadFromfile的一个小图片,我都使用了同步但是一快好象就不正确了
laowang2
2008-12-09
打赏
举报
回复
不会影响主界面,如果处理的结果要在主界面显示的话就要同步。
EagleFew
2008-12-08
打赏
举报
回复
进程至少拥有一个线程,进程在创建之后就有一个线程,如果是UI 程序的话,负责处理UI 或者事件响应的那个线程(也就是处理消息循环的那个线程)就称作主线程,而由用户或者系统再创建的其它的线程就称作工作线程.
另外,不知道你处理的时候怎么处理的.你说一个大数组,假如这个循环处理的话,循环完这个数组本身就可能耗费相当的时间
littlefish0101
2008-12-08
打赏
举报
回复
我也是这样理解的,界面不应该受影响
yuanreid
2008-12-08
打赏
举报
回复
独立的线程处理大运算时,除非将CPU占光了,否则不会影响界面响应。
littlefish0101
2008-12-08
打赏
举报
回复
[Quote=引用 10 楼 EagleFew 的回复:]
进程至少拥有一个线程,进程在创建之后就有一个线程,如果是UI 程序的话,负责处理UI 或者事件响应的那个线程(也就是处理消息循环的那个线程)就称作主线程,而由用户或者系统再创建的其它的线程就称作工作线程.
另外,不知道你处理的时候怎么处理的.你说一个大数组,假如这个循环处理的话,循环完这个数组本身就可能耗费相当的时间
[/Quote]
我有一个疑问,是不是一个大数组在线程中循环处理的时候,即使耗费相当的时间也不应该出现界面响应慢的情况,不知道我说的对不对
littlefish0101
2008-12-08
打赏
举报
回复
结构体变量是在线程没有运行起来的时候就已经写好的,后面只上调用里面的值
yuanreid
2008-12-07
打赏
举报
回复
结构体变量谁来写?还是重来没有人修过?如果修改就要同步。
littlefish0101
2008-12-07
打赏
举报
回复
在多线程中如果我存在几个线程读一个结构体变量的情况,线程只是读并不改变变量的值,我还需要对这个变量进行保护吗?
littlefish0101
2008-12-07
打赏
举报
回复
我在主线程中没有读写这个数组
yuanreid
2008-12-07
打赏
举报
回复
你的主线程中有没有读写这个数组或处理数据?如果有,可能就是这个原因。
TripH0101
2008-12-06
打赏
举报
回复
http://topic.csdn.net/t/20030814/22/2147763.html
littlefish0101
2008-12-06
打赏
举报
回复
线程中用CRITICAL_SECTION CriticalSection 把更新标志进行了保护
littlefish0101
2008-12-06
打赏
举报
回复
我是用一个全局的int数组来保存接受到的数据,定义了一个标志,在线程写数组的时候不能处理数据,处理数据的时候不能写数组,我不是很理解主线程这个概念,我也不知道这样是不是算数据存在与主线程中
yuanreid
2008-12-06
打赏
举报
回复
你的各个线程中间如何进行数据同步的,同步的数据是否存在于主线程中?
littlefish0101
2008-12-06
打赏
举报
回复
高手过来指点一下呀
Visual C++编程技巧精选集 光盘
207.如何拖动对话框
主
窗体
移动程序 208.如何动态隐藏或显示应用程序
窗体
209.如何动态移动和改变程序
窗体
的位置 210.如何动态改变应用程序窗口的大小 211.如何限制改变应用程序窗口的大小 212.如何限制应用程序窗口...
C# WinForm程序处理后台繁忙导致前台控件假死现象解决方法
主
要介绍了C# WinForm程序处理后台繁忙导致前台控件假死现象解决方法,本文通过Application.DoEvents()解决这个问题,并讲解了Application.DoEvents()的作用,需要的朋友可以参考下
C#编程经验技巧宝典
4 <br>0009 设置Windows应用程序启动
窗体
5 <br>0010 设置Web应用程序起始页 5 <br>0011 如何设置程序的出错窗口 5 <br>0012 如何进行程序调试 6 <br>0013 如何结束不能正常运行的程序 ...
java源码包2
在有状态SessionBean
中
,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存
中
清除…… Java Socket 聊天...
JAVA上百实例源码以及开源项目
在有状态SessionBean
中
,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存
中
清除…… Java Socket 聊天...
C++ Builder
13,826
社区成员
102,678
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章