开启辅助访问

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

错误信息:数组成员引用下标超出定义范围

查看数: 156 | 评论数: 7 | 收藏 0
关灯 | 提示:支持键盘翻页 & lt;-左 右 ->
    组图打开中,请稍候......
发布时间: 2025-7-21 22:21

正文摘要:

老哥们这个多线程是哪里出的问题 很容易报错

回复

2368286129   河南省郑州市 发表于 昨天 17:37
2224848 发表于 2025-7-24 13:21
是不是可以结下帖了

int = 最小 (执行数量 - 投递计次, 可用线程)
最小这个地方报错是啥情况大佬
2224848   河北省秦皇岛市 发表于 昨天 13:21

是不是可以结下帖了
2368286129   河南省郑州市 发表于 昨天 12:51
2224848 发表于 2025-7-23 19:21
[e=1]创建状态 = 线程池.创建(线程数,线程数,,真,)
如果真(取反(创建状态))
    信息框("线程创建失败 ...

感谢大佬
2224848   河北省秦皇岛市 发表于 前天 19:21
  
创建状态 = 线程池.创建 (线程数,线程数,,真,)
如果真 (取反 (创建状态))
信息框 ("线程创建失败,请重试!", 0, ,)
按钮_开始线程.标题 = "开始"
返回 ()

线程池销毁后未重置状态变量,可能导致重复创建冲突

改成这样会比较好

  
创建状态 = 线程池.创建 (线程数,线程数,,真,)
如果真 (取反 (创建状态))
信息框 ("线程创建失败,请重试!", 0, ,)
按钮_开始线程.标题 = "开始"
返回 ()


任务投递逻辑缺陷,未处理线程池被意外销毁的情况,等待任务动态超时后直接跳出,未记录错误日志,高并发下投递计次可能越界。
  
判断循环首 (投递计次 < 执行数量)
可用线程 = 线程池.取_空闲线程数 ()
如果真 (可用线程 > 0)
int = 执行数量 - 投递计次
如果真 (int > 可用线程)
int = 可用线程
计次循环首 (int, )
' 投递任务...
投递计次 = 投递计次 + 1
计次循环尾 ()
处理事件 ()
如果真 (线程池.等待任务动态 (, ) = )
跳出循环 ()
判断循环尾 ()


改成这样:

  
判断循环首 (投递计次 < 执行数量 线程池.取_状态 () = 1)  ' 增加状态检查
可用线程 = 线程池.取_空闲线程数 ()
如果真 (可用线程 > 0)
int = 最小 (执行数量 - 投递计次, 可用线程)
计次循环首 (int, )
如果 (线程池.取_状态 () ≠ 1)  ' 投递前再次检查
编辑框_运行日志.加入文本 ("线程池异常终止" + #换行符 )
跳出循环 ()
线程池.投递任务 (...)
投递计次 = 投递计次 + 1

计次循环尾 ()

如果真 (线程池.等待任务动态 (500, ) = )  ' 增加超时时间
编辑框_运行日志.加入文本 ("任务投递超时,剩余" + 到文本 (执行数量 - 投递计次) + "个任务未执行" + #换行符 )

判断循环尾 ()



七宝AY   江西省景德镇市 发表于 3 天前
错不是这个位置报的
1173847128   福建省厦门市 发表于 4 天前
数组越界了大哥- -  “1 1 1 ”  这有几个1?,你说4个就越界了  。取数组成员数 ()  判断一下
Suky   福建省泉州市 发表于 4 天前
数组越界,你查一下所有引用数组的代码
贴出来的代码没看到引用数组的,自己查其他相关代码
发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:[email protected]
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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