用易語言寫多線程應用要么使用多線程相關的api,支持庫或模塊,其實那些支持庫或模塊也都是封裝的api,但是要比api使用方便。
創(chuàng)新互聯專注為客戶提供全方位的互聯網綜合服務,包含不限于成都網站設計、做網站、冷水灘網絡推廣、微信平臺小程序開發(fā)、冷水灘網絡營銷、冷水灘企業(yè)策劃、冷水灘品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創(chuàng)新互聯為所有大學生創(chuàng)業(yè)者提供冷水灘建站搭建服務,24小時服務熱線:18982081108,官方網址:www.cdcxhl.com
總體來說易語言官方的多線程支持庫要比一些雜七雜八的模塊好多了。
支持庫勾選上之后就可以使用易語言的多線程支持庫了。
首先看用易語言多線程支持庫創(chuàng)建線程的命令:啟動線程:
命令名:啟動線程
創(chuàng)建并啟動一條線程,可重復使用以創(chuàng)建多條線程,成功返回真,失敗返回假。
參數 | 數據類型 | 說明 |
參數<1>的名稱為“欲執(zhí)行的子程序” | 子程序指針(SubPtr) | 本參數提供創(chuàng)建線程時欲啟動的子程序,根據是否需要傳遞參數數據,該子程序必須沒有或具有一個整數型參數,否則將出錯。 |
參數數據 | 整數型(int) | 可以被省略。本參數提供線程被啟動時傳遞到欲啟動子程序的整數數據。如果本參數未被省略,此時被啟動子程序必須接收一個整數型參數,否則將出錯。 |
線程句柄 | 整數型(int) | ,可以被省略,提供參數數據時只能提供變量。如果提供了本參數,將向參數變量寫入線程句柄(Windows下為HANDLE,Linux下為pthread_t),請在適當的時機關閉該句柄。如果不提供本參數接收線程句柄,內部將自動處理線程句柄。 |
用易語言多線程支持庫啟動一條線程(控制臺程序下):
.版本 2 .支持庫 EThread .程序集 程序集1 .程序集變量 線程句柄, 整數型 .子程序 _啟動子程序, 整數型, , 本子程序在程序啟動后最先執(zhí)行 啟動線程 (&子程序1, , 線程句柄) 返回 (0) ' 可以根據您的需要返回任意數值 .子程序 子程序1 標準輸出 (#標準輸出設備, “線程已啟動,線程句柄為:” + 到文本 (線程句柄))
這時候子程序1 將不是在主線程中執(zhí)行的,而是在線程句柄為552的新線程中執(zhí)行,和主線程互不相關。
通過下面的代碼可以方便我們理解多線程:
.版本 2 .程序集 窗口程序集1 .子程序 _按鈕1_被單擊 子程序1 () .子程序 子程序1 .局部變量 n, 整數型 .計次循環(huán)首 (1000, n) 輸出調試文本 (到文本 (n)) .計次循環(huán)尾 ()
按鈕按下之后,循環(huán)不結束,界面是不能響應任何消息的額,也就是拖動點擊什么的都沒用,相當于卡死。
但是如果把按鈕下調用的子程序1 ,改為
啟動線程 (&子程序1, , )
則窗口可以正常響應消息,因為創(chuàng)建了一條新的線程來執(zhí)行子程序1,主線程可以繼續(xù)處理窗口消息。