|
20精币
变量名 | 类 型 | 静态 | 数组 | 备 注 | 每日发布数量 | 整数型 | | | 可发布数量 | 整数型 | | | 并发线程 | 整数型 | | | bool | 逻辑型 | | | i | 整数型 | | | 空闲线程 | 整数型 | | | int | 整数型 | | | 如果真 (编辑框_总发布篇数.内容 = “”)提示框 (“总发布篇数数量为0,请置入”, , , , )返回 ()如果真 (编辑框_满足注册天数.内容 = “”)提示框 (“满足注册天数数量为0,请置入”, , , , )返回 ()如果真 (编辑框_笔记存放文件夹.内容 = “”)提示框 (“笔记存放文件夹路径为空,请置入”, , , , )返回 ()如果真 (超级列表框_代理IP. 取表项数 () < 0 )提示框 (“代理IP列表为空,请置入”, , , , )返回 ()如果真 (编辑框_代理最大在线数.内容 = “”)提示框 (“代理最大在线数内容为空,请置入”, , , , )返回 ()并发线程 = 到整数 (编辑框_发布线程数量.内容)集_总发布数量 = 到整数 (编辑框_总发布篇数.内容 )可发布数量 = 取可发布数量 ()如果真 (可发布数量 < 每日发布数量 )提示框 (“可发布文件夹数量小于设置数!已设置为发布文件夹数量”, , , , )编辑框_总发布篇数.内容 = 到文本 (可发布数量 )如果真 (可发布数量 < 1 )提示框 (“可发布文件夹数量小于1!请检查”, , , , )返回 ()
全_辅助. 写日志框 (“开始发布!发布数量:” + 到文本 (每日发布数量 ), , )临界. 进入 ()bool = 线程池_发布. 创建 (并发线程, , , , )如果真 (bool = 假)临界. 退出 ()返回 ()开始发布.禁止 = 真恢复.禁止 = 真 开始发布.标题 = “工作进行中”临界. 退出 ()全_发布许可证 = _创建进入许可证 ()判断循环首 (集_发布完成数量 < 集_总发布数量 )全_辅助. 写日志框 (“总发布数量: ” + 到文本 (集_总发布数量 ), “已完成任务量:” + 到文本 (集_发布完成数量 ), )空闲线程 = 线程池_发布. 取_空闲线程数 ()如果真 (空闲线程 > 0 ) int = 集_总发布数量 如果真 (int > 空闲线程 )int = 空闲线程 计次循环首 (int, )线程池_发布. 投递任务 (&发布主程序, , )程序_延时 (3000, )计次循环尾 ()如果真 (线程池_发布. 等待任务动态 (, ) = 假)返回 ()判断循环尾 ()线程池_发布. 销毁 (1, , )开始发布.禁止 = 假 恢复.禁止 = 假 全_辅助. 写日志框 (“全部发布工作完成”, , )开始发布.标题 = “开始发布”
上面是鱼刺启动的写法。我用1个线程都会卡死。
发布主程序中有个取我设置在启动窗口的代理IP,
就是用鱼刺启动的时候取窗口的东西都会卡死,用启动线程(&发布主程序)又都是正常的,不知道是哪里写错了,大神帮我看一下。
下面是拿代理的代码
变量名 | 类 型 | 静态 | 数组 | 备 注 | 代理最大在线数量 | 整数型 | | | 总行数 | 整数型 | | | i | 整数型 | | | 代理IP | 文本型 | | | 当前在线数 | 整数型 | | | 错误次数 | 整数型 | | | 当前行数 | 整数型 | | | 切换API | 文本型 | | |
代理最大在线数量 = 到整数 (_启动窗口.编辑框_代理最大在线数.内容 )总行数 = _启动窗口.超级列表框_代理IP. 取表项数 ()如果真 (总行数 < 1 )提示框 (“代理列表为0”, , , , )返回 ()判断循环首 (取数组成员数 (返回数组 ) < 4 )计次循环首 (总行数, i )当前行数 = i - 1 当前在线数 = 到整数 (_启动窗口.超级列表框_代理IP. 取标题 (当前行数, 0 )) 如果真 (当前在线数 < 代理最大在线数量 )代理IP = _启动窗口.超级列表框_代理IP. 取标题 (当前行数, 1 )文本_分割文本 (代理IP, “:”, , 返回数组 )切换API = _启动窗口.超级列表框_代理IP. 取标题 (当前行数, 2 )加入成员 (返回数组, 切换API )调试输出 (返回数组 )如果真 (全_辅助. 代理测试 (返回数组 ) = 假)清除数组 (返回数组 )调试输出 (返回数组)计次循环尾 ()如果真 (取数组成员数 (返回数组 ) < 4 )如果真 (错误次数 ≥ 3 )全_辅助. 写日志框 (“代理异常,请检查!程序会等待1分钟后再取”, “[国外服务器记得开梯子]”, )程序_延时 (全_常规等待时间 × 60, )错误次数 = 错误次数 + 1如果真 (错误次数 ≥ 10 )全_辅助. 写日志框 (“取代理IP信息错误次数大于10”, “延迟时间:”, 到文本 (全_常规等待时间 × 10 )) 跳出循环 ()如果真 (取数组成员数 (返回数组 ) > 4 )跳出循环 ()判断循环尾 ()如果真 (取数组成员数 (返回数组 ) ≥ 4 )_启动窗口.超级列表框_代理IP. 置标题 (当前行数, 0, 到文本 (当前在线数 + 1 ))
|
最佳答案
查看完整内容
不要把线程池创建/循环放到按钮点击事件, 写到子程序, 用启动线程(&子程序)调用
|