开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 780|回复: 8
收起左侧

[已解决] 多线程,如何取任务数量

 关闭 [复制链接]
发表于 2024-5-17 13:11:52 | 显示全部楼层 |阅读模式   四川省成都市
10精币
现在的情况,就是不知道,怎么给任务总数量赋值。因为文本有点大,所以读入文件不能用,用的快速文本对象。刚学编程没几天,各位大哥见谅。  
现在的情况是, 已经实现多线程,但是,执行任务重复。
  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
变量名类 型数组备 注
集_队列鱼刺类_队列  
集_线程池鱼刺类_线程池  
集_临界许可鱼刺类_临界许可  
集_工作日志文本型  

子程序名返回值类型公开备 注
__启动窗口_创建完毕  

子程序名返回值类型公开备 注
子线程  
参数名类 型参考可空数组备 注
参_附加参数整数型
变量名类 型静态数组备 注
网址内容文本型 
文件号整数型 
结果文本型 
快速文本快速文本对象 
文件内容逻辑型 
文件数组文本型0
i整数型 
自己网址文本型 
提交网址文本型 
方式整数型 
提交数据文本型 
局_分配到的任务文本型 
如果真 (集_队列.弹出文本 (局_分配到的任务))
返回 ()
文件内容 = 快速文本.从文件读 (取运行目录 ()“\5.txt”)
文件数组 = 快速文本.分割文本 ( #换行符, )
计次循环首 (取数组成员数 (文件数组), i)
自己网址 = 文件数组 [i]
提交网址 = “https://url5.co/?t=1715525879”
方式 = 1
提交数据 = “name=” + 自己网址 + “&time=Mx&button=%E7%AB%8B%E5%8D%B3%E6%9F%A5%E8%A9%A2”
结果 = UTF8到文本 (网页_访问 (提交网址, 方式, 提交数据, , , #常量1, , , , , , , , ))
网址内容 = 文本_取出中间文本 (结果, “target”, “”, , )
调试输出 (网址内容)
编辑框1.加入文本 (网址内容 + #换行符 )
判断 (网址内容 ≠ “”)
文件号 = 打开文件 (取运行目录 ()“\网址.txt”, #改写, #无限制 )
移到文件尾 (文件号)
写文本行 (文件号, 自己网址 + “---” + 网址内容)
调试输出 (“正常”)

文件号 = 打开文件 (取运行目录 ()“\失败网址.txt”, #改写, #无限制 )
移到文件尾 (文件号)
写文本行 (文件号, 自己网址 + “---” + 网址内容)
调试输出 (“失败”)
文件号 = 打开文件 (取运行目录 ()“\总数网址数据.txt”, #改写, #无限制 )
移到文件尾 (文件号)
写文本行 (文件号, 自己网址 + “---” + 网址内容)
延迟 (50)
计次循环尾 ()
集_临界许可.进入 ()  ' 加【写锁】,防止共享资源崩溃。具体说明请看例程 2.临界许可
集_工作日志 = 集_工作日志 + “线程”到文本 (参_附加参数)“: 完成” + 局_分配到的任务 + #换行符
集_临界许可.退出 ()
子程序名返回值类型公开备 注
主线程  
变量名类 型静态数组备 注
i整数型 
n整数型 
' 创建4个线程,共同完成1000个任务
n = 1000            [size=5](这个地方的任务数量如何等于,文本内容中的数组数量,我怎么赋值,软件都提示错误。这个地方的赋值,不等于主线程的 任务数量,导致 多线程,一直重复,主线程。)[/size]
调试输出 (n)
计次循环首 (n, i)
集_队列.压入文本 (“任务”到文本 (i), )  ' 先把所有任务的特征,给加入队伍里面,然后排队执行
计次循环尾 ()
集_线程池.创建 (4, , , )  ' 创建线程池
计次循环首 (n, i)
集_线程池.投递任务 (&子线程, i, )  ' 一次性把所有任务都投到线程池里面,线程池内部应该实现也是一个队伍,依次执行投递的线程
计次循环尾 ()
调试输出 (“线程全部投递完毕”)
集_线程池.等待任务动态 ()  ' 这句话可写可不写
判断循环首 (集_线程池.取_是否完全空闲 ())  ' 等待任务全部执行完
_延时 (300)
判断循环尾 ()
编辑框1.内容 = 集_工作日志
调试输出 (“线程全部执行完毕”)
子程序名返回值类型公开备 注
_按钮2_被单击  
启动线程 (&主线程, , )


i支持库列表   支持库注释   
commobj通用对象支持库
spec特殊功能支持库
EThread多线程支持库

最佳答案

查看完整内容

[e=0].版本 2 .程序集变量 pool, 鱼刺类_线程池Ex .程序集变量 critical, 鱼刺类_临界许可 .子程序 _按钮1_被单击 线程_启动 (&startWork) .子程序 startWork .局部变量 i, 整数型 'pool.取_执行线程数 () 你要的命令 pool.创建 (5, 5, ) .计次循环首 (100, i) 处理事件 () pool.投递任务 (&working, i) .判断循环首 (取反 (pool.取_是否有空闲 ())) 程序_延时 (50) .判断循环尾 () .计次循环尾 () ...

回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳

结帖率:100% (11/11)

签到天数: 29 天

发表于 2024-5-17 13:11:53 | 显示全部楼层   福建省福州市
  
窗口程序集名保 留  保 留备 注
(未填写程序集名)   
变量名类 型数组备 注
变量名类 型数组备 注
pool鱼刺类_线程池Ex  
critical鱼刺类_临界许可  

子程序名返回值类型公开备 注
_按钮1_被单击  
线程_启动 (&startWork)
子程序名返回值类型公开备 注
startWork  
变量名类 型静态数组备 注
i整数型 
' pool.取_执行线程数 ()  你要的命令
pool.创建 (5, 5, )
计次循环首 (100, i)
处理事件 ()
pool.投递任务 (&working, i)
判断循环首 (取反 (pool.取_是否有空闲 ()))
程序_延时 (50)
判断循环尾 ()
计次循环尾 ()
处理事件 ()
判断循环首 (取反 (pool.取_是否完全空闲 ()))
程序_延时 (50)
判断循环尾 ()
pool.销毁 ()  ' 不销毁的话下次修改最大线程数会没有反应


补充内容 (2024-5-17 13:17):
这个是标准最简单的 多线程投递代码 可以无脑参考

点评

1   山东省济南市  发表于 2024-5-20 11:49

评分

参与人数 1荣誉 +1 收起 理由
笨潴 + 1 热心帮助他人,荣誉+1,希望继续努力(*^__^*) 嘻嘻!

查看全部评分

回复

使用道具 举报

签到天数: 9 天

 楼主| 发表于 2024-5-17 13:30:50 | 显示全部楼层   四川省成都市
观音 发表于 2024-5-17 13:17
[e=0].版本 2

.程序集变量 pool, 鱼刺类_线程池Ex

我的任务是一个  计次循环首, 这种,写下来,多线程,还是会重复执行,多线程。 我想要不重复执行,计次循环首里面的任务。
回复

使用道具 举报

结帖率:100% (11/11)

签到天数: 29 天

发表于 2024-5-17 13:35:03 | 显示全部楼层   福建省福州市
aayangpu 发表于 2024-5-17 13:30
我的任务是一个  计次循环首, 这种,写下来,多线程,还是会重复执行,多线程。 我想要不重复执行,计次 ...

按照我理解的 你说的跟你代码写的 完全不是一个东西 自己研究一下逻辑吧   任务数量应该是文件数量
我就简单看了一下 你的代码和说的太乱了
回复

使用道具 举报

签到天数: 9 天

 楼主| 发表于 2024-5-17 14:28:21 | 显示全部楼层   四川省成都市
观音 发表于 2024-5-17 13:35
按照我理解的 你说的跟你代码写的 完全不是一个东西 自己研究一下逻辑吧   任务数量应该是文件数量
我就 ...

任务数量是,文件数量,我的文件是大文本数据。 用的快速访问对象。   这个数组,不能复制给,任务数量。
回复

使用道具 举报

签到天数: 9 天

 楼主| 发表于 2024-5-17 14:28:44 | 显示全部楼层   四川省成都市
aayangpu 发表于 2024-5-17 14:28
任务数量是,文件数量,我的文件是大文本数据。 用的快速访问对象。   这个数组,不能复制给,任务数量。 ...

正常应该是可以赋值的,但是我不会。
回复

使用道具 举报

结帖率:94% (16/17)
发表于 2024-5-19 00:18:55 | 显示全部楼层   福建省泉州市
观音 发表于 2024-5-17 13:17
[e=0].版本 2

.程序集变量 pool, 鱼刺类_线程池Ex

100是线程数量吗
回复

使用道具 举报

签到天数: 9 天

 楼主| 发表于 2024-5-25 21:02:31 | 显示全部楼层   四川省成都市

线程,是文本导入的数组。 但是不知道怎么赋值。
回复

使用道具 举报

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

本版积分规则 致发广告者

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

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

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