詳解易語言等待線程
更新時(shí)間:2018年12月06日 14:13:37 投稿:laozhang
在本文中小編給大家整理了關(guān)于易語言中等待線程的相關(guān)知識點(diǎn)內(nèi)容,需要的朋友們參考下。
命令名:等待線程
等待,直到指定線程結(jié)束或等待超時(shí)才返回。返回真表示等待成功。注意,在Linux下暫不支持超時(shí)等待。本命令為初級命令。
| 參數(shù) | 數(shù)據(jù)類型 | 說明 |
| 線程句柄 | 整數(shù)型(int) | 可通過“啟動線程”的第三個參數(shù)獲取線程句柄。 |
| 等待時(shí)間 | 整數(shù)型(int) | 可以被省略。指定等待時(shí)間,單位為毫秒。如果為0或負(fù)數(shù),或被省略,表示不限定等待時(shí)間。 |
我們可以通過等待線程來判斷一個線程是否結(jié)束
.版本 2 .支持庫 EThread .程序集 窗口程序集1 .程序集變量 線程句柄, 整數(shù)型 .子程序 _按鈕1_被單擊 啟動線程 (&子程序1, , 線程句柄) .如果真 (等待線程 (線程句柄, )) 信息框 (“線程結(jié)束”, 0, ) 關(guān)閉線程句柄 (線程句柄) .如果真結(jié)束 .子程序 子程序1 .局部變量 n, 整數(shù)型 .計(jì)次循環(huán)首 (1000, n) 輸出調(diào)試文本 (到文本 (n)) .計(jì)次循環(huán)尾 ()

但是這樣還有一個問題,本來用多線程的本意是為了子程序1的循環(huán)不影響窗口的消息響應(yīng),但是加了一個等待線程又把主線程阻塞了,不符合我們的本意。
解決方法就是把等待線程放到另一個線程中去:
.版本 2 .支持庫 EThread .程序集 窗口程序集1 .程序集變量 線程句柄, 整數(shù)型, , "2" .子程序 _按鈕1_被單擊 啟動線程 (&子程序1, , 線程句柄 [1]) 啟動線程 (&子程序2, , 線程句柄 [2]) 關(guān)閉線程句柄 (線程句柄 [2]) .子程序 子程序2 .如果真 (等待線程 (線程句柄 [1], )) 信息框 (“線程1結(jié)束”, 0, ) 關(guān)閉線程句柄 (線程句柄 [1]) .如果真結(jié)束 .子程序 子程序1 .局部變量 n, 整數(shù)型 .計(jì)次循環(huán)首 (1000, n) 輸出調(diào)試文本 (到文本 (n)) .計(jì)次循環(huán)尾 ()

如此,在不阻塞主線程的情況下完成了等待線程。
相關(guān)文章
易語言通過現(xiàn)行選中項(xiàng)設(shè)置標(biāo)簽背景顏色的排列方式
今天小編就為大家分享一篇關(guān)于易語言通過現(xiàn)行選中項(xiàng)設(shè)置標(biāo)簽背景顏色的排列方式,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-11-11
易語言編寫程序即時(shí)查詢對應(yīng)幫助信息的方法
今天小編就為大家分享一篇關(guān)于易語言編寫程序即時(shí)查詢對應(yīng)幫助信息的方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-10-10

