易语言 多线程,等待所有线程执行完毕后操作
发布日期:2021-05-07 18:53:33 浏览次数:28 分类:原创文章

本文共 778 字,大约阅读时间需要 2 分钟。

用处:

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

线程调用案列:

.版本 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 即可

最后关闭

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

上一篇:易语言,向当前句柄输入文本 文本投递不生效
下一篇:易语言 遍历表项 删除重复表项内容

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2025年04月12日 07时51分40秒