社区
C++ Builder
帖子详情
多线程中的问题
aquam
2001-06-05 09:33:00
请问,我在子线程中修改主线程中控件的属性,调用控件的方法,会不会影响线程的安全?
比如,为了显示一个队列的长度,我在子线程中修改主线程中Label的Caption属性显示。
还有,调用主线程中的TQuery控件的方法向数据库写数据。
谢谢
...全文
128
10
打赏
收藏
多线程中的问题
请问,我在子线程中修改主线程中控件的属性,调用控件的方法,会不会影响线程的安全? 比如,为了显示一个队列的长度,我在子线程中修改主线程中Label的Caption属性显示。 还有,调用主线程中的TQuery控件的方法向数据库写数据。 谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
TR@SOE
2001-06-06
打赏
举报
回复
VCL绝大多数不是线程安全的。必须使用Synchronize()方法。
wjzhuang
2001-06-06
打赏
举报
回复
vcl不全是线程安全的(bcb5)
ciml
2001-06-05
打赏
举报
回复
我问一下各位,怎么给给线程的终止事件添加代码?
comanche
2001-06-05
打赏
举报
回复
不一定,VCL是线程安全的(Delphi5),如果你access 主线程上的东东,会让子线程相互等待,很明显,就好像所有子线程都停在那等,你可以用个Edit试试(不要用synchronize,它很安全)。
但VCL中有一部份控件,从 TGraphicControl派生的都不是线程安全的,但你也不要用 synchromize同步,这部份的控件都有 Lock和 Unlock方法,你可能用 Label试试
孩皮妞野
2001-06-05
打赏
举报
回复
第二个问题参考 示例 bkquery, 好像要用一个独立的Session. 那么 ADO呢?
孩皮妞野
2001-06-05
打赏
举报
回复
都是这样做的嘛。 记住用Synchronize(), 其它没问题。
wjzhuang
2001-06-05
打赏
举报
回复
不好意思,少打了几个字:
"特别是使用vcl,尽量不要使用线程不安全的vcl和使用操作vcl的主线程"
改为:
特别是使用vcl,尽量不要使用线程不安全的vcl,而应该使用vcl主线程来负责操作vcl控件
wjzhuang
2001-06-05
打赏
举报
回复
叶老大没发现问题那应该可以.
不过我觉得你这种操作方式不好,如果你在多个线程中使用了一些共同变量,那就应该有相应的保护措施.
特别是使用vcl,尽量不要使用线程不安全的vcl和使用操作vcl的主线程.不然很容易出问题的.
看你的描述,好像没必要特别去调用别的线程来完成事情.要们再写一个线程,要们安排好事件处理
或者使用公共变量.
对于线程安全有一些保护方式.你可以参考一些书籍.比如:c++builder5 开发人员指南
抬头看路
2001-06-05
打赏
举报
回复
会,VCL不是线程安全的。
「已注销」
2001-06-05
打赏
举报
回复
我用过
暂时还没发现问题
@_@
请详细了解此线程机制的朋友来解答一下
大家准备听课咯
POSIX
多线程
程序设计.pdf
《POSIX
多线程
程序设计》深入描述了IEEE的开放系统接口标准——POSIX线程,通常称为Pthreads标准。本书首先解释了线程的基本概念,包括异步编程、线程的生命周期和同步机制;然后讨论了一些高级话题,包括属性对象、...
WPF
多线程
演示
综上所述,WPF
多线程
演示项目可能涵盖了如何在WPF应用
中
正确使用
多线程
、避免阻塞UI、利用BackgroundWorker、Task Parallel Library或异步编程模型来实现后台任务,以及处理线程安全和异常等
问题
。这些知识点对于...
下载
多线程
编程技术开发资料 高清完整PDF版
死锁是
多线程
编程
中
经常遇到的一个
问题
,它指的是两个或多个线程互相等待对方释放锁,从而导致进程永远阻塞的情况。避免死锁需要程序员在设计程序时仔细规划锁的使用和线程间的交互。 8. 并发与并行 并发...
Java.Concurrency.in.Practice.pdf
- **6.1 在线程
中
执行任务**:概述了如何在
多线程
环境
中
执行独立的任务。 - **6.2 Executor 框架**:介绍了 Java 提供的 Executor 框架,它为任务调度和管理提供了一个灵活且强大的解决方案。 - **6.3 寻找可利用的...
【
多线程
】线程安全
问题
本文详细探讨了
多线程
编程
中
的线程安全
问题
及其解决方案。线程安全是指程序在
多线程
环境下能够正确处理共享资源,确保数据的完整性和一致性。线程不安全的原因主要包括线程间的执行方式、多个线程修改同一个变量、...
C++ Builder
13,873
社区成员
102,696
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章