社区
VB
帖子详情
请教一个多线程变量赋值的问题
m0_37670973
2018-08-21 04:41:33
我在主程序里面定义了三个线程,分别去不同的数据,又定义了三个变量,分别标识这三个线程执行结束。然后定义了一个timer,每100ms检查一次三个变量的值,如果全为true,证明线程的主要逻辑都执行完毕,然后启动两个线程,取一些其他的数据。并且把timer关闭,把三个变量全部设为false。
问题:timer的逻辑执行完毕后,为什么三个变量还是true。为啥没有设成false。
...全文
631
5
打赏
收藏
请教一个多线程变量赋值的问题
我在主程序里面定义了三个线程,分别去不同的数据,又定义了三个变量,分别标识这三个线程执行结束。然后定义了一个timer,每100ms检查一次三个变量的值,如果全为true,证明线程的主要逻辑都执行完毕,然后启动两个线程,取一些其他的数据。并且把timer关闭,把三个变量全部设为false。 问题:timer的逻辑执行完毕后,为什么三个变量还是true。为啥没有设成false。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
以专业开发人员为伍
2018-09-15
打赏
举报
回复
再重复一遍,捕获一个值(或者也包括集合)的改变事件,跟线程也直接关系。你之所以纠结线程这个看似高大上的概念,是没有把 .net 基本模式(实际上任何语言都一样,都有浅显抄袭几行代码语句和深入编程模式的区别)学到的问题。
以专业开发人员为伍
2018-09-15
打赏
举报
回复
变量存储可以实现为“属性”而赋予程序行为。而值的改变应该采用 INotifyPropertyChanged 等等一系列正规的设计模式。软件的对象之间的通讯、监听应该是规范的和高性能的,不是什么傻傻地滥用轮询方式的.................除了语言之外还要努力学点软件设计知识,免得有些刚学了点 java 的人跑到 .net 论坛来又来捣乱。
以专业开发人员为伍
2018-09-15
打赏
举报
回复
滥用线程、timer、轮询........这些都是编程大忌。你应该学习一下比较正规的设计模式和事件驱动基本设计概念。
一粒芥麦种子
2018-09-15
打赏
举报
回复
请采用多线程的委托事件处理。
正怒月神
2018-08-21
打赏
举报
回复
你把三个线程使用的各自的变量,
改成
static bool a;
static bool b;
static bool c;
Long 在
多线程
本文通过
一个
多线程
测试案例揭示了在32位虚拟机环境中,Long类型的
赋值
操作并非原子性的特性。演示了当多个线程同时尝试修改同
一个
Long
变量
时,可能产生的数据不一致
问题
。
std::string::assign 崩溃的
问题
本文介绍了
一个
多线程
环境下字符串
赋值
操作导致程序崩溃的
问题
。通过
一个
简单的C++示例展示了当两个线程同时尝试修改全局字符串
变量
时出现的异常行为,并提供了调试信息以帮助理解
问题
根源。
Java中子线程给主线程
变量
赋值
:volatile与synchronized
本文围绕Java并发编程中,子线程给主线程
变量
赋值
展开。先介绍线程与共享
变量
概念,指出共享带来的数据一致性等
问题
。接着阐述volatile和synchronized关键字应用,还提及其他同步机制。最后说明实战应用场景、注意事项,如避免死锁等,助读者理解
多线程
变量
赋值
。
实例
变量
共享造成的非线程安全
问题
本文探讨了在
多线程
环境下实例
变量
的共享与非共享
问题
,通过对比测试代码展示了线程安全
问题
的出现及解决方案,强调了synchronized关键字的重要性。
qt
多线程
下,QString
赋值
导致崩溃
在Qt5中,全局QString
变量
在
多线程
环境下的
赋值
操作可能导致程序崩溃,原因在于隐式共享机制的引用计数在并发时的不安全性。Qt6已修复此
问题
,但为保证线程安全,建议在Qt5中使用基础数据类型或采取线程保护措施。此外,Qt的隐式共享机制用于优化内存管理,但需注意在
多线程
场景下的数据竞争
问题
。
VB
16,718
社区成员
110,521
社区内容
发帖
与我相关
我的任务
VB
VB技术相关讨论,主要为经典vb,即VB6.0
复制链接
扫一扫
分享
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章