社区
VB
帖子详情
请教一个多线程变量赋值的问题
m0_37670973
2018-08-21 04:41:33
我在主程序里面定义了三个线程,分别去不同的数据,又定义了三个变量,分别标识这三个线程执行结束。然后定义了一个timer,每100ms检查一次三个变量的值,如果全为true,证明线程的主要逻辑都执行完毕,然后启动两个线程,取一些其他的数据。并且把timer关闭,把三个变量全部设为false。
问题:timer的逻辑执行完毕后,为什么三个变量还是true。为啥没有设成false。
...全文
586
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;
spring-boot-2.3.0.RC1.jar中文-英文对照文档.zip
1、压缩文件中包含: 中文-英文对照文档、jar包下载地址、Maven依赖、Gradle依赖、源代码下载地址。 2、使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 3、特殊说明: (1)本文档为人性化翻译,精心制作,请放心使用; (2)只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; (3)不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 4、温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件。 5、本文件关键字: jar中文-英文对照文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册。
presto-jdbc-0.238.1.jar中文文档.zip
1、压缩文件中包含: 中文文档、jar包下载地址、Maven依赖、Gradle依赖、源代码下载地址。 2、使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 3、特殊说明: (1)本文档为人性化翻译,精心制作,请放心使用; (2)只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; (3)不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 4、温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件。 5、本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册。
Linux_SID_开发指南.pdf
Linux_SID_开发指南
基于 python 3.7 + django 2.2.3 + 运维devops管理系统
基于 python 3.7 + django 2.2.3 + channels 2.2.0 + celery 4.3.0 + ansible 2.8.5 + AdminLTE-3.0.0 实现的运维devops管理系统。
拉格朗日插值法处理缺失数据
资源下载链接为: https://pan.quark.cn/s/abbae039bf2a 拉格朗日插值法是一种数学方法,能够在给定的若干个不同位置的观测值时,找到
一个
多项式,使得该多项式在这些观测点上恰好取到相应的观测值。这种多项式被称为拉格朗日(插值)多项式。从数学的角度来看,拉格朗日插值法可以构建
一个
多项式函数,使其精确地穿过二维平面上的若干个已知点。本文将介绍如何利用拉格朗日插值法来填补缺失值。为了更好地理解这一方法,我们先通过一组简单的数据来展示拉格朗日插值法的实现过程。以下是实现拉格朗日插值法的代码示例:
VB
16,722
社区成员
110,526
社区内容
发帖
与我相关
我的任务
VB
VB技术相关讨论,主要为经典vb,即VB6.0
复制链接
扫一扫
分享
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章