易語言封裝的啟動執行緒是無法傳遞文字引數的,我們可以為這個要傳遞的文字申請乙個記憶體位址,把這個位址傳遞過去,下面通過演示和封裝來說明實現過程。
演示傳遞文字引數
1、建立乙個文字型的變數,來儲存要傳遞的文字
2、為這段文字申請記憶體,返回記憶體位址
3、把文字引數寫到記憶體
4、啟動執行緒,傳遞位址。
5、啟動的主線程的引數設定為文字型,接受傳進來的文字
.版本 2
.支援庫 spec
.支援庫 ethread
.區域性變數 文字引數, 文字型
.區域性變數 傳遞位址, 整數型
文字引數 = 「我是啟動執行緒要傳遞的文字」
傳遞位址 = 申請記憶體 (取文字長度 (文字引數) + 1, 真)
寫到記憶體 (到位元組集 (文字引數), 傳遞位址, )
啟動執行緒 (&主線程, 傳遞位址, )
主線程
.版本 2
.子程式 主線程
.引數 文字引數, 文字型
輸出除錯文字 (文字引數)
封裝傳遞文字引數
.版本 2
.支援庫 spec
.支援庫 ethread
.子程式 啟動執行緒_文字, 邏輯型
.引數 子程式, 子程式指標
.引數 文字引數, 文字型
.區域性變數 傳遞位址, 整數型
傳遞位址 = 申請記憶體 (取文字長度 (文字引數) + 1, 真)
寫到記憶體 (到位元組集 (文字引數), 傳遞位址, )
返回 (啟動執行緒 (子程式, 傳遞位址, ))
呼叫啟動執行緒_文字
啟動執行緒_文字 (&主線程, 「我是啟動執行緒要傳遞的文字」)
文字和陣列傳遞文字型引數的兩種方法
.版本 2
.支援庫 ethread
.支援庫 spec
.程式集 視窗程式集1, , , 511遇見(www.511yj.com)
.程式集變數 文字陣列, 文字型, , "0"
.子程式 _按鈕1_被單擊, , , 511遇見(www.511yj.com)
.區域性變數 i, 整數型
.區域性變數 變數, 文字型
.計次迴圈首 (100, i)
變數 = 到文字 (i) ' 變數是文字型哦
啟動執行緒 (&thread1, 取變數資料位址 (變數))
延遲 (2) ' 為了不出亂碼
.計次迴圈尾 ()
.子程式 thread, , , 511遇見(www.511yj.com)
.引數 序號, 整數型
除錯輸出 (文字陣列 [序號])
' 陣列間接傳遞
.子程式 thread1, , , 511遇見(www.511yj.com)
.引數 文字, 文字型
除錯輸出 (文字)
' 變數直接傳遞
.子程式 _按鈕2_被單擊, , , 511遇見(www.511yj.com)
.區域性變數 i, 整數型
.計次迴圈首 (100, i)
加入成員 (文字陣列, 到文字 (i))
延時 (1) ' 保持有效時間範圍
啟動執行緒 (&thread, i)
.計次迴圈尾 ()
原始碼:易語言啟動執行緒傳遞文字引數 易語言多執行緒時鐘多執行緒陣列傳參
1 時鐘元件 2 陣列傳參 3 多執行緒傳參 教程原始碼 版本 2 支援庫 ethread 支援庫 spec 區域性變數 n,整數型 n 取陣列成員數 a str 重定義陣列 a str,真,n 1 置隨機數種子 a str n 1 511遇見 www.511yj.com 不一樣的遇見 時間到文字 ...
易語言啟動執行緒傳遞多個型別的資料變數
易語言的啟動執行緒預設是傳遞乙個整數的,在 易語言啟動執行緒傳遞文字引數中,我們講解了傳遞文字引數,今天,我們示範傳遞多個變數 思路是我們把要傳遞的變數定義成乙個整數型陣列,傳遞的是引數內容的記憶體位址指標,由於傳遞的引數可能是文字和整數,所以我們要封裝兩個取文字指標位址和取整數指標位址,文字和整數...
易語言多執行緒封裝執行緒啟動優先權設定
1 setthreadpriority 2 resumethread 模組原始碼 子程式 執行緒 啟動 優先權,整數型,公開,返回執行緒控制代碼,必須用 執行緒 關閉 控制代碼 關閉這個控制代碼 引數 要啟動的子程式,子程式指標,要啟動的子程式 引數 要傳去子程式的引數,整數型,可空,往子程式傳遞乙...