开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 604|回复: 1
收起左侧

[完成] 用启动线程可以正常用鱼刺多线程会卡死,大神帮我看看!

 关闭 [复制链接]
结帖率:88% (29/33)
发表于 2024-3-10 23:26:29 | 显示全部楼层 |阅读模式   广东省佛山市
20精币
  
子程序名返回值类型公开备 注
_开始发布_被单击  
变量名类 型静态数组备 注
每日发布数量整数型 
可发布数量整数型 
并发线程整数型 
bool逻辑型 
i整数型 
空闲线程整数型 
int整数型 
如果真 (编辑框_总发布篇数.内容 = “”)
提示框 (“总发布篇数数量为0,请置入”, , , , )
返回 ()
如果真 (编辑框_满足注册天数.内容 = “”)
提示框 (“满足注册天数数量为0,请置入”, , , , )
返回 ()
如果真 (编辑框_笔记存放文件夹.内容 = “”)
提示框 (“笔记存放文件夹路径为空,请置入”, , , , )
返回 ()
如果真 (超级列表框_代理IP.取表项数 () < 0)
提示框 (“代理IP列表为空,请置入”, , , , )
返回 ()
如果真 (编辑框_代理最大在线数.内容 = “”)
提示框 (“代理最大在线数内容为空,请置入”, , , , )
返回 ()
并发线程 = 到整数 (编辑框_发布线程数量.内容)
集_总发布数量 = 到整数 (编辑框_总发布篇数.内容)
可发布数量 = 取可发布数量 ()
如果真 (可发布数量 < 每日发布数量)
提示框 (“可发布文件夹数量小于设置数!已设置为发布文件夹数量”, , , , )
编辑框_总发布篇数.内容 = 到文本 (可发布数量)
如果真 (可发布数量 < 1)
提示框 (“可发布文件夹数量小于1!请检查”, , , , )
返回 ()
' ------------------
全_辅助.写日志框 (“开始发布!发布数量:”到文本 (每日发布数量), , )
临界.进入 ()
bool = 线程池_发布.创建 (并发线程, , , , )
如果真 (bool = )
临界.退出 ()
返回 ()
开始发布.禁止 = 真
恢复.禁止 = 真
开始发布.标题 = “工作进行中”
临界.退出 ()
全_发布许可证 = _创建进入许可证 ()
判断循环首 (集_发布完成数量 < 集_总发布数量)
全_辅助.写日志框 (“总发布数量: ”到文本 (集_总发布数量), “已完成任务量:”到文本 (集_发布完成数量), )
空闲线程 = 线程池_发布.取_空闲线程数 ()
如果真 (空闲线程 > 0)  ' 当空闲线程大于 0 时 开始投递任务
int = 集_总发布数量  ' 投递任务的数量
如果真 (int > 空闲线程)
int = 空闲线程  ' 投递任务数量 = 空闲线程
计次循环首 (int, )
线程池_发布.投递任务 (&发布主程序, , )
程序_延时 (3000, )
计次循环尾 ()
如果真 (线程池_发布.等待任务动态 (, ))
返回 ()

判断循环尾 ()
线程池_发布.销毁 (1, , )
开始发布.禁止 = 假
恢复.禁止 = 假
' 信息框 (“全部工作完成”, 0, , )
全_辅助.写日志框 (“全部发布工作完成”, , )
开始发布.标题 = “开始发布”


i支持库列表   支持库注释   
iext扩展界面支持库一
iext2扩展界面支持库二


上面是鱼刺启动的写法。我用1个线程都会卡死。
发布主程序中有个取我设置在启动窗口的代理IP,
就是用鱼刺启动的时候取窗口的东西都会卡死,用启动线程(&发布主程序)又都是正常的,不知道是哪里写错了,大神帮我看一下。


下面是拿代理的代码
  
子程序名返回值类型公开备 注
取代理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))


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

最佳答案

查看完整内容

不要把线程池创建/循环放到按钮点击事件, 写到子程序, 用启动线程(&子程序)调用

签到天数: 9 天

发表于 2024-3-10 23:26:30 | 显示全部楼层   河北省张家口市
不要把线程池创建/循环放到按钮点击事件, 写到子程序, 用启动线程(&子程序)调用
回复

使用道具 举报

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

本版积分规则 致发广告者

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

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

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