社区
VB
帖子详情
请教一个多线程变量赋值的问题
m0_37670973
2018-08-21 04:41:33
我在主程序里面定义了三个线程,分别去不同的数据,又定义了三个变量,分别标识这三个线程执行结束。然后定义了一个timer,每100ms检查一次三个变量的值,如果全为true,证明线程的主要逻辑都执行完毕,然后启动两个线程,取一些其他的数据。并且把timer关闭,把三个变量全部设为false。
问题:timer的逻辑执行完毕后,为什么三个变量还是true。为啥没有设成false。
...全文
584
5
打赏
收藏
请教一个多线程变量赋值的问题
我在主程序里面定义了三个线程,分别去不同的数据,又定义了三个变量,分别标识这三个线程执行结束。然后定义了一个timer,每100ms检查一次三个变量的值,如果全为true,证明线程的主要逻辑都执行完毕,然后启动两个线程,取一些其他的数据。并且把timer关闭,把三个变量全部设为false。 问题:timer的逻辑执行完毕后,为什么三个变量还是true。为啥没有设成false。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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;
北师珠信院Java期末考试复习题.zip
北京师范大学珠海分校 信息技术学院 Java期末考试复习题 ch01-ch18 划重点!圈起来要考!期末不挂科 !
线程中从
一个
对象get到的属性
赋值
给另
一个
对象变成了null
记一次小白用线程愚蠢事件。 小菜鸟的我总是感觉碰到了神奇的bug 大佬叮嘱的debug不能忘 如上图s为null 如上图
赋值
给s的ssk.getGwid()不为null 这就很神奇了。第一次遇见这种情况,有点摸不着头脑,
请教
了大佬。 原来是
多线程
所影响 我所定义的ssk本来就是在
一个
类,就直接 public SocketsFb ssk; public Ou...
java
多线程
无效,关于 Java
多线程
的几点疑问,求助大佬
Java
多线程
的线程安全需要保证原子性和可见性,volatile 关键字可以保证可见性不能保证原子性,synchronized 关键字可以保证可见性和原子性,不过有几点疑问
请教
一下大佬:(1)volatile 关键字如何保证的可见性,在书上和博客上看到了两种不同的说法,不知道哪种正确:1.
赋值
操作后会立即写回主内存,
一个
线程数据回写到主内存会导致其他线程对应数据无效(通过嗅探总线上传输的数据检查...
nodejs cluster
多线程
同步,nodejs
多线程
共享内存
因为nodejs的I/O操作,底层是开启了
多线程
的当同时有多个IO请求时,主线程会创建多个eio线程,以提高IO请求的处理速度额外知识点:d.虽然nodejs的I/O操作开启了
多线程
,但是所有线程都是基于主线程开启的只能跑在
一个
进程当中还是不能充分利用cpu资源pm2进程管理器可以解决这个
问题
pm2是
一个
带有负载均衡功能的Node应用的进程管理器.e.cpu核数与线程之间的关系在过去单CPU时代,单任务在
一个
时间点只能执行单一程序。事实上,使用它进行繁重的计算等于摒弃Node几乎所有的优点。
JNI接口支持
多线程
并发调用的小技巧
在JNI开发过程有这样的
一个
场景: 用JNI封装调用另
一个
第三方算法so库,该SO库是能够支持
多线程
并发创建多个处理实例,同时处理数据的。则JNI在封装接口时,也需要注意接口方法并发的情况,这个时候必须尽可能使用局部
变量
,以免全局
变量
在某一线程中被修改,导致在另一线程不能按预期执行。 首先看下第三方so库的两个接口方法: /** * 创建对应token的算法处理实例,返回长度为inst_num的void型指针数组insts。 * 此方法需支持并发创建不同token的实例 */ int create_
VB
16,722
社区成员
110,526
社区内容
发帖
与我相关
我的任务
VB
VB技术相关讨论,主要为经典vb,即VB6.0
复制链接
扫一扫
分享
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章