服务器之家

服务器之家 > 正文

详解易语言等待线程

时间:2022-02-27 16:55     来源/作者:易语言教程网

命令名:等待线程

等待,直到指定线程结束或等待超时才返回。返回真表示等待成功。注意,在Linux下暂不支持超时等待。本命令为初级命令。

 

参数 数据类型 说明
线程句柄 整数型(int) 可通过“启动线程”的第三个参数获取线程句柄。
等待时间 整数型(int) 可以被省略。指定等待时间,单位为毫秒。如果为0或负数,或被省略,表示不限定等待时间。

 

我们可以通过等待线程来判断一个线程是否结束

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
.版本 2
.支持库 EThread
 
.程序集 窗口程序集1
.程序集变量 线程句柄, 整数型
 
.子程序 _按钮1_被单击
 
启动线程 (&子程序1, , 线程句柄)
 
.如果真 (等待线程 (线程句柄, ))
 信息框 (“线程结束”, 0, )
 关闭线程句柄 (线程句柄)
.如果真结束
 
 
 
.子程序 子程序1
.局部变量 n, 整数型
 
.计次循环首 (1000, n)
 输出调试文本 (到文本 (n))
.计次循环尾 ()

详解易语言等待线程

但是这样还有一个问题,本来用多线程的本意是为了子程序1的循环不影响窗口的消息响应,但是加了一个等待线程又把主线程阻塞了,不符合我们的本意。

解决方法就是把等待线程放到另一个线程中去:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
.版本 2
.支持库 EThread
 
.程序集 窗口程序集1
.程序集变量 线程句柄, 整数型, , "2"
 
.子程序 _按钮1_被单击
 
启动线程 (&子程序1, , 线程句柄 [1])
启动线程 (&子程序2, , 线程句柄 [2])
关闭线程句柄 (线程句柄 [2])
 
 
.子程序 子程序2
 
.如果真 (等待线程 (线程句柄 [1], ))
 信息框 (“线程1结束”, 0, )
 关闭线程句柄 (线程句柄 [1])
.如果真结束
 
 
.子程序 子程序1
.局部变量 n, 整数型
 
.计次循环首 (1000, n)
 输出调试文本 (到文本 (n))
.计次循环尾 ()

详解易语言等待线程

如此,在不阻塞主线程的情况下完成了等待线程。

相关文章

热门资讯

2022年最旺的微信头像大全 微信头像2022年最新版图片
2022年最旺的微信头像大全 微信头像2022年最新版图片 2022-01-10
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整 2021-08-24
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
返回顶部