溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

詳解易語言等待線程

發布時間:2020-09-20 19:03:32 來源:腳本之家 閱讀:922 作者:laozhang 欄目:編程語言

命令名:等待線程

等待,直到指定線程結束或等待超時才返回。返回真表示等待成功。注意,在Linux下暫不支持超時等待。本命令為初級命令。

參數 數據類型 說明
線程句柄 整數型(int) 可通過“啟動線程”的第三個參數獲取線程句柄。
等待時間 整數型(int) 可以被省略。指定等待時間,單位為毫秒。如果為0或負數,或被省略,表示不限定等待時間。

我們可以通過等待線程來判斷一個線程是否結束

.版本 2
.支持庫 EThread

.程序集 窗口程序集1
.程序集變量 線程句柄, 整數型

.子程序 _按鈕1_被單擊

啟動線程 (&子程序1, , 線程句柄)

.如果真 (等待線程 (線程句柄, ))
 信息框 (“線程結束”, 0, )
 關閉線程句柄 (線程句柄)
.如果真結束



.子程序 子程序1
.局部變量 n, 整數型

.計次循環首 (1000, n)
 輸出調試文本 (到文本 (n))
.計次循環尾 ()

詳解易語言等待線程

但是這樣還有一個問題,本來用多線程的本意是為了子程序1的循環不影響窗口的消息響應,但是加了一個等待線程又把主線程阻塞了,不符合我們的本意。

解決方法就是把等待線程放到另一個線程中去:

.版本 2
.支持庫 EThread

.程序集 窗口程序集1
.程序集變量 線程句柄, 整數型, , "2"

.子程序 _按鈕1_被單擊

啟動線程 (&子程序1, , 線程句柄 [1])
啟動線程 (&子程序2, , 線程句柄 [2])
關閉線程句柄 (線程句柄 [2])


.子程序 子程序2

.如果真 (等待線程 (線程句柄 [1], ))
 信息框 (“線程1結束”, 0, )
 關閉線程句柄 (線程句柄 [1])
.如果真結束


.子程序 子程序1
.局部變量 n, 整數型

.計次循環首 (1000, n)
 輸出調試文本 (到文本 (n))
.計次循環尾 ()

詳解易語言等待線程

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女