詳解易語(yǔ)言啟動(dòng)多線程
用易語(yǔ)言寫多線程應(yīng)用要么使用多線程相關(guān)的api,支持庫(kù)或模塊,其實(shí)那些支持庫(kù)或模塊也都是封裝的api,但是要比api使用方便。
總體來(lái)說易語(yǔ)言官方的多線程支持庫(kù)要比一些雜七雜八的模塊好多了。
支持庫(kù)勾選上之后就可以使用易語(yǔ)言的多線程支持庫(kù)了。
首先看用易語(yǔ)言多線程支持庫(kù)創(chuàng)建線程的命令:?jiǎn)?dòng)線程:
命令名:?jiǎn)?dòng)線程
創(chuàng)建并啟動(dòng)一條線程,可重復(fù)使用以創(chuàng)建多條線程,成功返回真,失敗返回假。
參數(shù) | 數(shù)據(jù)類型 | 說明 |
參數(shù)<1>的名稱為“欲執(zhí)行的子程序” | 子程序指針(SubPtr) | 本參數(shù)提供創(chuàng)建線程時(shí)欲啟動(dòng)的子程序,根據(jù)是否需要傳遞參數(shù)數(shù)據(jù),該子程序必須沒有或具有一個(gè)整數(shù)型參數(shù),否則將出錯(cuò)。 |
參數(shù)數(shù)據(jù) | 整數(shù)型(int) | 可以被省略。本參數(shù)提供線程被啟動(dòng)時(shí)傳遞到欲啟動(dòng)子程序的整數(shù)數(shù)據(jù)。如果本參數(shù)未被省略,此時(shí)被啟動(dòng)子程序必須接收一個(gè)整數(shù)型參數(shù),否則將出錯(cuò)。 |
線程句柄 | 整數(shù)型(int) | ,可以被省略,提供參數(shù)數(shù)據(jù)時(shí)只能提供變量。如果提供了本參數(shù),將向參數(shù)變量寫入線程句柄(Windows下為HANDLE,Linux下為pthread_t),請(qǐng)?jiān)谶m當(dāng)?shù)臅r(shí)機(jī)關(guān)閉該句柄。如果不提供本參數(shù)接收線程句柄,內(nèi)部將自動(dòng)處理線程句柄。 |
用易語(yǔ)言多線程支持庫(kù)啟動(dòng)一條線程(控制臺(tái)程序下):
.版本 2 .支持庫(kù) EThread .程序集 程序集1 .程序集變量 線程句柄, 整數(shù)型 .子程序 _啟動(dòng)子程序, 整數(shù)型, , 本子程序在程序啟動(dòng)后最先執(zhí)行 啟動(dòng)線程 (&子程序1, , 線程句柄) 返回 (0) ' 可以根據(jù)您的需要返回任意數(shù)值 .子程序 子程序1 標(biāo)準(zhǔn)輸出 (#標(biāo)準(zhǔn)輸出設(shè)備, “線程已啟動(dòng),線程句柄為:” + 到文本 (線程句柄))
這時(shí)候子程序1 將不是在主線程中執(zhí)行的,而是在線程句柄為552的新線程中執(zhí)行,和主線程互不相關(guān)。
通過下面的代碼可以方便我們理解多線程:
.版本 2 .程序集 窗口程序集1 .子程序 _按鈕1_被單擊 子程序1 () .子程序 子程序1 .局部變量 n, 整數(shù)型 .計(jì)次循環(huán)首 (1000, n) 輸出調(diào)試文本 (到文本 (n)) .計(jì)次循環(huán)尾 ()
按鈕按下之后,循環(huán)不結(jié)束,界面是不能響應(yīng)任何消息的額,也就是拖動(dòng)點(diǎn)擊什么的都沒用,相當(dāng)于卡死。
但是如果把按鈕下調(diào)用的子程序1 ,改為
啟動(dòng)線程 (&子程序1, , )
則窗口可以正常響應(yīng)消息,因?yàn)閯?chuàng)建了一條新的線程來(lái)執(zhí)行子程序1,主線程可以繼續(xù)處理窗口消息。
相關(guān)文章
淺析易語(yǔ)言的數(shù)據(jù)類型及其長(zhǎng)度
在本篇內(nèi)容里小編給大家整理了關(guān)于易語(yǔ)言的數(shù)據(jù)類型及其長(zhǎng)度相關(guān)知識(shí)點(diǎn)內(nèi)容,需要的朋友們參考學(xué)習(xí)下。2018-11-11易語(yǔ)言dll文件傳遞字節(jié)集參數(shù)解析
在本篇內(nèi)容里小編給大家分享了易語(yǔ)言dll文件傳遞字節(jié)集參數(shù)的相關(guān)知識(shí)點(diǎn)內(nèi)容,有興趣的朋友們參考下。2018-11-11詳解易語(yǔ)言調(diào)用js實(shí)現(xiàn)md5加密方法
在本篇文章里我們給大家分享了關(guān)于易語(yǔ)言調(diào)用js實(shí)現(xiàn)md5加密的詳細(xì)方法和步驟,有需要的朋友們參考下。2018-10-10易語(yǔ)言修改指定網(wǎng)頁(yè)為瀏覽器主頁(yè)的代碼
今天小編就為大家分享一篇關(guān)于易語(yǔ)言修改指定網(wǎng)頁(yè)為瀏覽器主頁(yè)的代碼,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-11-11