开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 2189|回复: 6
收起左侧

[求助] 多线程

[复制链接]
结帖率:80% (16/20)
发表于 2018-11-5 16:52:36 | 显示全部楼层 |阅读模式   四川省内江市
  
按钮_开始登录.禁止 = 真
线程数量 = 到整数 (编辑框_执行数量.内容)
创建状态 = 线程池.创建 (线程数量, 线程数量, , 真, )
如果真 (取反 (创建状态))
提示框 (“线程创建失败”, , , , )
按钮_开始登录.标题 = “开始登录”
返回 ()
按钮_开始登录.禁止 = 假
计次循环首 (超级列表框_登录信息.取表项数 (), i)
临时帐号.帐号 = 超级列表框_登录信息.取标题 (i - 1, 1)
临时帐号.密码 = 超级列表框_登录信息.取标题 (i - 1, 2)
临时帐号.T值 = 超级列表框_登录信息.取标题 (i - 1, 4)
加入成员 (集_帐号, 临时帐号)
线程池.投递任务 (&开始工作, i, )
可用线程 = 线程池.取_空闲线程数 ()
判断循环首 (可用线程 = 0)
如果真 (线程池.取_状态 () ≠ 1)
返回 ()
延时 (50)
可用线程 = 线程池.取_空闲线程数 ()
调试输出 (“卡在可用线程里”)
判断循环尾 ()
计次循环尾 ()


i支持库列表   支持库注释   
iext扩展界面支持库一
spec特殊功能支持库


帮忙修改下 为什么永远都卡在可用线程=0这个死循环里
结帖率:100% (16/16)
发表于 2018-11-5 16:54:51 | 显示全部楼层   辽宁省沈阳市
最好把e文件发出来
回复 支持 反对

使用道具 举报

结帖率:80% (16/20)
 楼主| 发表于 2018-11-5 17:33:58 | 显示全部楼层   四川省内江市
yapiing 发表于 2018-11-5 16:54
最好把e文件发出来

.版本 2
.支持库 iext
.支持库 spec

.子程序 _按钮_开始登录_被单击
.局部变量 临时帐号, 帐号信息
.局部变量 线程数量, 整数型
.局部变量 执行数量, 文本型
.局部变量 创建状态, 逻辑型
.局部变量 zc数量, 整数型
.局部变量 可用线程, 整数型
.局部变量 i, 整数型
.局部变量 投递计次, 整数型

按钮_开始登录.禁止 = 真
线程数量 = 到整数 (编辑框_执行数量.内容)
创建状态 = 线程池.创建 (线程数量, 线程数量, , 真, )
.如果真 (取反 (创建状态))
    提示框 (“线程创建失败”, , , , )
    按钮_开始登录.标题 = “开始登录”
    返回 ()
.如果真结束
按钮_开始登录.禁止 = 假
.计次循环首 (超级列表框_登录信息.取表项数 (), i)
    临时帐号.帐号 = 超级列表框_登录信息.取标题 (i - 1, 1)
    临时帐号.密码 = 超级列表框_登录信息.取标题 (i - 1, 2)
    临时帐号.T值 = 超级列表框_登录信息.取标题 (i - 1, 4)
    加入成员 (集_帐号, 临时帐号)
    可用线程 = 线程池.取_空闲线程数 ()
    .判断循环首 (可用线程 = 0)
        .如果真 (线程池.取_状态 () ≠ 1)
            返回 ()
        .如果真结束
        延时 (50)
        可用线程 = 线程池.取_空闲线程数 ()
        调试输出 (“卡在可用线程里”)
    .判断循环尾 ()
    线程池.投递任务 (&开始工作, i, )
    超级列表框_登录信息.插入表项 (, , , , , )
.计次循环尾 ()
.判断循环首 (线程池.取_是否空闲 () = 假)
    .如果真 (线程池.取_状态 () ≠ 1)
        返回 ()
    .如果真结束
    延时 (50)
    调试输出 (“卡在最后循环”)
.判断循环尾 ()
线程池.销毁 (0, , 真)
提示框 (“线程执行完毕”, , , , )

.子程序 开始工作
.参数 i, 整数型

超级列表框_登录信息.插入表项 (, , , , , )
.如果 (登录 (集_帐号 .帐号, 集_帐号 .密码, 集_帐号 .T值, 集_帐号 .cookie) = 1)
    修改名称 (集_帐号 .T值, 集_帐号 .cookie)
    超级列表框_登录信息.置标题 (i - 1, 3, “修改成功”)
.否则
    超级列表框_登录信息.置标题 (i - 1, 3, “修改失败”)



如果删除掉开始工作子程序里的 超级列表框操作  线程就不会卡死
回复 支持 反对

使用道具 举报

结帖率:63% (5/8)
发表于 2018-11-5 17:36:26 | 显示全部楼层   福建省泉州市
把取_空闲线程数 () 改成执行取_执行线程数 ()  试试
回复 支持 反对

使用道具 举报

结帖率:86% (89/104)

签到天数: 2 天

发表于 2018-11-5 17:37:37 | 显示全部楼层   广东省广州市
循环判断不用了,用下面这个试试
bool = 线程池.等待任务动态 (, )
回复 支持 反对

使用道具 举报

结帖率:20% (16/80)
发表于 2018-11-5 22:37:36 | 显示全部楼层   江苏省南京市
如果真 (取反 (创建状态)) 这句就有毛病了...如果真的开始创建失败 创建状态=假,你这边取反就是=真,你的代码也会提示 ‘创建失败’。。。而且创建完不是立马就能用的,要先查 .取_状态 ()...创建中就继续判断循环等待创建完毕再取可用线程数量 再去投递任务...逻辑思路没通~~~
回复 支持 反对

使用道具 举报

结帖率:93% (100/108)

签到天数: 2 天

发表于 2022-2-21 10:22:18 | 显示全部楼层   河北省邢台市
我来看一看啊
回复 支持 反对

使用道具 举报

  高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

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

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