用处:

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

线程调用案列:

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

最后关闭

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