精易论坛

标题: 鱼刺类_多线程 究极新手5分钟学会教学例程 [打印本页]

作者: KD飞飞    时间: 2024-11-25 18:08
标题: 鱼刺类_多线程 究极新手5分钟学会教学例程
会看的看源码
不会看的下载源码
新手教学,大佬绕道

主要还是论坛里面没有专门写这个的新手 超简单教学 有也比较复杂
我重复造个轮子 给新手开路
简单理解就是我建个水池,把我手里鱼苗酷酷往里扔,
扔进去的是活鲤鱼,养着养着就死了翻肚子了,但是翻肚子这件事是独立完成的,就是鱼是鱼自己,他啥时候嘎巴死根本不用排队,完全就看自己啥时候想死~

单线程就是鱼排队死
多线程就是鱼并排一起死
线程池就是嘎巴一下让上万条鱼自己爱啥时候死啥时候死,我只负责下药





  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
变量名类 型数组备 注
_线程操作鱼刺类_线程操作' 用来创建多个线程
_线程池鱼刺类_线程池用来创建池
文件组文本型0存储位置
a整数型  

子程序名返回值类型公开备 注
_按钮1_被单击  
_线程操作.创建 (&主线程, , , , , , , , , )  ' 创建并运行一个主线程
子程序名返回值类型公开备 注
主线程 激活主线程
变量名类 型静态数组备 注
iss整数型 
ytre整数型 
如果真 (取数组成员数 (文件组) > 0)
计次循环首 (取数组成员数 (文件组), ytre)
删除成员 (文件组, 1, )
计次循环尾 ()

' 上面这个程序是删空数组变量里的数组成员,确保每次点击都是空成员数组
文件_枚举 (取运行目录 ()“\图片\”, “*.*”, 文件组, 真, , )  ' 取出这个文件夹下所有的文件路径
_线程池.创建 (取数组成员数 (文件组) + 2, , , )  ' 创建对应数量的池子 用来容纳现成额外+2个是为了防止以外
计次循环首 (取数组成员数 (文件组), iss)  ' 投递任务,循环投递任务,你可以理解成 把任务扔到池子里
_线程池.投递任务 (&处理子程序, iss, )  ' 传递一个数字给到子程序用来做文件名字,也方便你知道每个被扔进去的现成叫啥名
计次循环尾 ()
子程序名返回值类型公开备 注
处理子程序 ' 用来批量改名的子程序
参数名类 型参考可空数组备 注
定位文件整数型这个是任务号码的同时也是文件号码
变量名类 型静态数组备 注
随机后缀文本型 
置随机数种子 ()
随机后缀 = 到文本 (取随机数 (0, 1000000))
' 为了防止重复文件名,给每个文件加一个随机后缀
文件更名 (文件组 [定位文件], 取运行目录 ()“\图片\”到文本 (定位文件)“-” + 随机后缀 + “.png”)  ' 在本目录下更改文件名字
a = a + 1  ' 其实这种计数方式不太好,不过凑合用吧
如果真 (a = 取数组成员数 (文件组))  ' 判断是否更名结束
信息框 (“ok”, 0, , )

子程序名返回值类型公开备 注
__启动窗口_创建完毕  
_线程操作.强制结束 ()  ' 没啥用


鱼刺类多线程改文件名.rar

2.28 MB, 下载次数: 159, 下载积分: 精币 -2 枚


作者: 一指温柔    时间: 2024-11-26 09:08
        共同努力,共同进步
作者: wdh1991    时间: 2024-11-26 09:22

        共同努力,共同进步
作者: kyo9766    时间: 2024-11-26 09:52
新手很有帮助,感谢分享


请教一下,_线程池.投递任务 ,这个投递任务,是必须在 主线程 这个子程序里面进行,还是可以在任意 子程序里面进行
作者: 科技败家    时间: 2024-11-26 10:45
        共同努力,共同进步
作者: 半辈子    时间: 2024-11-26 10:55
本帖最后由 半辈子 于 2024-11-26 11:45 编辑

说得很形象,很有趣!!!
  
子程序名返回值类型公开备 注
_按钮1_被单击  
_线程操作.创建 (&主线程, , )
子程序名返回值类型公开备 注
主线程 主线程
变量名类 型静态数组备 注
n整数型 
线程数整数型 
任务数整数型 
输出调试文本 (“任务开始”)
线程数 = 5
_线程池.创建 (线程数, , , )
' -----
任务数 = 100
计次循环首 (任务数, n)
_线程池.投递任务 (&处理子程序, n, )
计次循环尾 ()
' -----
判断循环首 (_线程池.取_是否完全空闲 ())
程序_延时 (100, 0)
判断循环尾 ()
输出调试文本 (“任务结束”)
子程序名返回值类型公开备 注
处理子程序 ' 用来批量改名的子程序
参数名类 型参考可空数组备 注
序号整数型这个是任务号码的同时也是文件号码
变量名类 型静态数组备 注
随机数整数型 
输出调试文本 (“正在进行的任务:”到文本 (序号))
' 具体处理任务
随机数 = 取随机数 (1000, 3000)
程序_延时 (随机数, 0)
' ------
子程序名返回值类型公开备 注
_按钮停止任务_被单击  
_线程池.销毁 ()


作者: zifeiyu    时间: 2024-11-26 11:37
666666666666666666666666
作者: 半辈子    时间: 2024-11-26 11:45
.版本 2

.子程序 _按钮1_被单击

_线程操作.创建 (&主线程, , )

.子程序 主线程, , , 主线程
.局部变量 n, 整数型
.局部变量 线程数, 整数型
.局部变量 任务数, 整数型

输出调试文本 (“任务开始”)
线程数 = 5
_线程池.创建 (线程数, , , )
' -----
任务数 = 100
.计次循环首 (任务数, n)
    _线程池.投递任务 (&处理子程序, n, )
.计次循环尾 ()
' -----
.判断循环首 (_线程池.取_是否完全空闲 () = 假)
    程序_延时 (100, 0)
.判断循环尾 ()
输出调试文本 (“任务结束”)

.子程序 处理子程序, , , ' 用来批量改名的子程序
.参数 序号, 整数型, , 这个是任务号码的同时也是文件号码
.局部变量 随机数, 整数型

输出调试文本 (“正在进行的任务:” + 到文本 (序号))
' 具体处理任务
随机数 = 取随机数 (1000, 3000)
程序_延时 (随机数, 0)
' ------

.子程序 _按钮停止任务_被单击

_线程池.销毁 ()


作者: 易酷    时间: 2024-11-26 13:49
kyo9766 发表于 2024-11-26 09:52
新手很有帮助,感谢分享

用楼主的例子来给你解释就是,你可以站在池子的左边把鱼丢尽去,你也可以站在池子的右边把鱼丢下去,你也可以站在上边把鱼丢下去,也可以站在池子下边把鱼丢进去,懂了吧
作者: 胖子葛格    时间: 2024-11-26 16:28
感谢大神分享~!
作者: lqylbh    时间: 2024-11-26 19:58
感谢大神分享~!
作者: 夏亿    时间: 2024-11-26 20:40
感谢分享,很给力!~
作者: sampo    时间: 2024-11-26 22:59
#在这里快速回感谢分享,很给力!~复#
作者: pianone    时间: 2024-11-27 05:42
生动而容易理解
作者: TEMP2023    时间: 2024-11-27 07:02
感谢分享
作者: qwe111qwe    时间: 2024-11-27 08:44
感谢分享!!!!
作者: please    时间: 2024-11-27 09:37
感谢分享,支持开源!!!
作者: sn123zyc    时间: 2024-11-27 15:19
感谢分享,支持开源!!!
作者: kantal    时间: 2024-11-27 16:20
        感谢分享,很给力!~
作者: 水草兄弟    时间: 2024-11-28 08:08
最新鱼刺类.多线程v6.4模块 20240804更新
作者: please    时间: 2024-11-28 09:40
感谢分享,支持开源!!!
作者: oopsjeff    时间: 2024-11-28 11:06
小白.下来看看.学习学习
作者: 水草兄弟    时间: 2024-11-28 15:31
sequentially
作者: qqmqqg    时间: 2024-11-28 21:32
6666666666666
作者: shanyukun    时间: 2024-11-29 08:27
谢谢分享!
作者: wh1234567    时间: 2024-11-29 08:41
感谢分享
作者: wjswzj0    时间: 2024-11-29 10:57
感谢分享

作者: 胖子葛格    时间: 2024-11-30 11:47
感谢大神分享~!
作者: 你不丑    时间: 2024-12-1 03:37
半辈子 发表于 2024-11-26 10:55
说得很形象,很有趣!!![e=0].版本 2

.子程序 _按钮1_被单击

这个一次循环100个任务了 那线程数 是不是没起作用啊?
作者: 半辈子    时间: 2024-12-1 16:25
本帖最后由 半辈子 于 2024-12-1 16:27 编辑
你不丑 发表于 2024-12-1 03:37
这个一次循环100个任务了 那线程数 是不是没起作用啊?

投递100个任务到线程池, 然后线程数(5)逐一执行,线程数我认为可以理解为并发数
作者: 很安静    时间: 2024-12-3 03:30
画画哈哈哈哈哈哈
作者: 熊不熊    时间: 2024-12-3 23:44
感谢分享,很给力!~
作者: yuzhong    时间: 2024-12-6 00:18
11111111111111111111111111111111111111111
作者: kenan236    时间: 2024-12-6 00:21
66666666666666666666666666666
作者: asd2168972    时间: 2024-12-11 15:58
谢谢,虽然没用过
作者: 迷迭香    时间: 2024-12-24 20:50
学习一下吧
作者: 南风洵    时间: 2024-12-25 02:01
真好,形象生动,一下理解了,执行顺序乱是不是因为没有创建许可,没有排队?

作者: 梨落    时间: 2024-12-26 07:28
111111111111111111111
作者: yellow0709    时间: 2025-3-13 01:03

作者: lrh3344521    时间: 2025-3-20 21:38
666666666666666666
作者: mikakochao    时间: 2025-3-25 04:11
学习以下!!!
作者: 超级无敌暴龙    时间: 2025-3-29 21:34
感谢大佬
作者: 308750021    时间: 2025-3-30 01:51
666666666666666666666666
作者: 308750021    时间: 2025-3-30 01:51
6666666666666666666666
作者: 森音文化    时间: 2025-4-1 22:05
创建并运行一个主线程
作者: root0101    时间: 2025-4-14 09:27
看看学习一下
作者: 噢噢    时间: 2025-4-15 10:32
感谢分享,很给力!~
作者: wuqi913    时间: 2025-5-4 14:09
感谢分享
作者: gaoyunfei    时间: 2025-5-7 22:59
半辈子 发表于 2024-11-26 10:55
说得很形象,很有趣!!![e=0].版本 2

.子程序 _按钮1_被单击

通俗易懂
作者: wangxiqi    时间: 2025-5-19 09:51
给楼主点赞或评分打赏,让楼主更有动力创作优秀内容!
作者: yaoming666    时间: 2025-5-19 20:23
支持
作者: goodsboy2030    时间: 2025-5-21 00:26
大佬高手膜拜
作者: yaoming666    时间: 2025-5-24 10:10
膏手66666666
作者: yuzhong    时间: 2025-5-25 10:44
111111111111111111111111111111111111111
作者: 流年浮生    时间: 2025-5-25 10:53
感谢分享,很给力!~
作者: 北纬    时间: 2025-5-30 04:55
感谢分享,很给力!~
作者: a3960382663    时间: 2025-6-4 00:29
感谢分享,很给力!~
作者: mdj198665    时间: 2025-6-12 10:31
感谢谢分享
作者: mdj198665    时间: 2025-6-12 10:31
半辈子 发表于 2024-11-26 10:55
说得很形象,很有趣!!![e=0].版本 2

.子程序 _按钮1_被单击

感谢谢分享
作者: guowenhao    时间: 2025-7-11 16:33
论坛有你更精彩
作者: niexiaobin    时间: 2025-7-12 00:21
666666666666666666666666666666666666




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4