易語言啟動執行緒通過變數或陣列傳遞文字型引數

2021-10-06 21:43:46 字數 2110 閱讀 2653

易語言封裝的啟動執行緒是無法傳遞文字引數的,我們可以為這個要傳遞的文字申請乙個記憶體位址,把這個位址傳遞過去,下面通過演示和封裝來說明實現過程。

演示傳遞文字引數

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 模組原始碼 子程式 執行緒 啟動 優先權,整數型,公開,返回執行緒控制代碼,必須用 執行緒 關閉 控制代碼 關閉這個控制代碼 引數 要啟動的子程式,子程式指標,要啟動的子程式 引數 要傳去子程式的引數,整數型,可空,往子程式傳遞乙...