詳解易語言等待執行緒

2022-09-21 09:21:06 字數 1229 閱讀 5661

命令名:等待執行緒

等待,直到指定執行緒結束或等待超時才返回。返回真表示等待成功。注意,在linux下暫不支援超時等待。本命令為初級命令。

引數www.cppcns.com 資料型別

說明執行緒控制代碼

整數型(int)

可通過「啟動執行緒」的第三個引數獲取執行緒控制代碼。

等待時間

整數型(int)

可以被省略。指定等待時間,單位為毫秒。如果為0或負數,或被省略,表示不限定等待時間。

我們可以通過等待執行緒來判斷乙個執行緒是否結束

.版本 2

.支援庫 ethread

.程式集 視窗程式集1

.程式集變數 執行緒控制代碼, 整數型

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

啟動執行緒 (&子程式1, , 執行緒控制代碼)

.如果真 (等待執行緒 (執行緒控制代碼, ))

資訊框 (「執行緒結束」, 0, )

關閉執行緒控制代碼 (執行緒控制代碼)

.如果真結束

www.cppcns.com

.子程式 子程式1

.區域性變數 n, 整數型

.計次迴圈首 (1000, n)

輸出除錯文字 (到文字 (n))

.計次迴圈尾 ()

但是這樣還有乙個問題,本來用多執行緒的本意是為了子程式1的迴圈不影響視窗的訊息響應www.cppcns.com,但是加了乙個等待執行緒又把主線程阻塞了,不符合我們的本意。

解決方法就是把等待執行緒放到另乙個執行緒中去:

.版本 2

.支援庫 ethread

.程式集 視窗程式集1

.程式集變數 執行緒控制代碼, 整數型, , "2"

.子程式 _程式設計客棧按鈕1_被單擊

啟動執行緒 (&子程式1, , 執行緒控制代碼 [1])

啟動執行緒 (&子程式2, , 執行緒控制代碼 [2])

關閉執行緒控制代碼 (執行緒控制代碼 [2])

程式設計客棧

.子程式 子程式2

.如果真 (等待執行緒 (執行緒控制代碼 [1], ))

資訊框 (「執行緒1結束」, 0, )

關閉執行緒控制代碼 (執行緒控制代碼 [1])

.如果真結束

.子程式 子程式1

.區域性變數 n, 整數型

.計次迴圈首 (1000, n)

輸出除錯文字 (到文字 (n))

.計次迴圈尾 ()

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

本文標題: 詳解易語言等待執行緒

本文位址:

易語言 多執行緒,等待所有執行緒執行完畢後操作

用處 當你請求網路,想吧網路請求的結果放到乙個全域性陣列中,然後最後一塊處理陣列 執行緒呼叫案列 版本 2 支援庫 ethread 支援庫 spec 程式集 視窗程式集1 子程式 按鈕1 被單擊 區域性變數 handle,整數型 啟動執行緒 thread,handle 關閉執行緒控制代碼 handl...

易語言多執行緒出錯

下面的複製貼上到易語言裡 版本 2 dll命令 setprocessaffinitymask,整數型,公開,設定cpu親和性 程序控制代碼 返回cpu號 引數 hprocess,整數型 引數 hprocess,整數型 dll命令 setthreadaffinitymask,整數型,公開,設定cpu親...

詳解易語言常量用法

易語言常量用法,我用例項講解,下面一步步操作,大家學懂了,給我投一票,謝謝!1 易語言新建乙個winwww.cppcns.comdows視窗點選常量表進入 2 ctrl n 就會增加一列 如圖 3 我們設定常量 程式設計客棧分別在相應位置輸入資料 如圖 4 我們雙擊 新建的視窗 進入 編輯區 輸入 ...