|
楼主 |
发表于 2018-11-5 17:33:58
|
显示全部楼层
四川省内江市
.版本 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, “修改失败”)
如果删除掉开始工作子程序里的 超级列表框操作 线程就不会卡死 |
|