易语言 多线程,等待所有线程执行完毕后操作

用处:

当你请求网络,想吧网络请求的结果放到一个全局数组中,然后最后一块处理数组

线程调用案列:

.版本 2
.支持库 EThread
.支持库 spec

.程序集 窗口程序集1

.子程序 _按钮1_被单击
.局部变量 handle, 整数型

启动线程 (&Thread, , handle)
关闭线程句柄 (handle)

.子程序 Thread
.局部变量 i, 整数型
.局部变量 handle, 整数型, , "0"

重定义数组 (handle, 假, 10)
.计次循环首 (10, i)
    启动线程 (&Login, i, handle [i])
.计次循环尾 ()
.计次循环首 (10, i)
    等待线程 (handle [i], -1)
.计次循环尾 ()
信息框 (“所有线程执行完毕。”, 0, )

.子程序 Login
.参数 参数, 整数型
.局部变量 i, 整数型

调试输出 (“线程编号” + 到文本 (参数) + “进入”)
.计次循环首 (10, i)
    延迟 (200)
.计次循环尾 ()
调试输出 (“线程编号” + 到文本 (参数) + “退出”)

思路

用到了两次线程

核心代码 login。子线程 用到了参数 i  这个是必须传递了

这里是延迟了  延迟 (200) 10次 也就是2s

实际上可以模拟网络请求。然后把请求结果放到一个数组中

 

第一次 取名子程序 Thread

、是调用login 处理完毕 等待 login 得线程处理结束

在这个线程里面

务必调用方法就是等待处理完毕后的操作

信息框 (“所有线程执行完毕。”, 0, )

实际代码可以是对数组的操作 

 

第二次就是把第一次的操作封装到里面 

启动线程的时候 忽略参数2  带着参数3 传递一个0 即可

最后关闭

我本来以为第二次线程这步并不重要。。直到尝试的时候。才发现这步必不可少。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安果移不动

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值