火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 5482|回复: 7
打印 上一主题 下一主题

吴总:多线程有BUG

[复制链接]

17

主题

794

帖子

2639

积分

金牌会员

Rank: 6Rank: 6

积分
2639
跳转到指定楼层
楼主
发表于 2020-12-24 20:18:27 | 显示全部楼层 |只看大图 回帖奖励 |倒序浏览 |阅读模式
此例测出两个问题:
一、多个线程同时启动时,有时有一个线程不会被运行(此例第一个线程不会被运行)。
二、如果三个线程同时运行就会出现访问类变量出错现象,三个线程只有第一个线程里是写操作,后面两个是读,(按Windowsr的内存访问机制,这样的读写操作是不会引起内存冲突的,不知是否理解错误请大佬们指教),同样的代码在易语言里是没此问题(附有易语言例子)。
如果运行不会出错说明第一个线程没有运行,注意查看调试输出。
对火山PC不熟,不知是不是自己的问题。



线程测试2.rar (129.31 KB, 下载次数: 24)
回复

使用道具 举报

17

主题

794

帖子

2639

积分

金牌会员

Rank: 6Rank: 6

积分
2639
沙发
 楼主| 发表于 2020-12-24 22:46:44 | 显示全部楼层
飞扬工作室 发表于 2020-12-24 20:43
不是BUG,首先:
1. 调试输出信息是会有溢出的,如果输出信息过多,有可能会被顶出不显示,但是实际上代码还是执 ...

说明里的第一个问题很难出现,得重复试,才能出现,第一个问题出现后,第一个线程没有输出,后面两个线程正常输出,但“测试类.数值”一直为“0”,说明第一个线程里的“测试类.数值 = 测试类.数值 + 1”没有被执行,也就是第一个线程没有运行或被挂起。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-5-26 04:40 , Processed in 0.090310 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表