易語言魚刺執行緒池撥號模板

2022-09-21 14:27:11 字數 2894 閱讀 2476

魚刺執行緒池撥號模板

此功能需要載入精易模組5.6和魚刺類_多執行緒應用模組

.版本 2

.支援庫 iext

.支援庫 spec

.程式集 視窗程式集_啟動視窗

.程式集變數 thread, 魚刺類_執行緒池

.程式集變數 adsl, adsl撥號類

.程式集變數 adslname, 文字型, , , 寬頻連線名稱

.程程式設計客棧序集變數 adsluser, 文字型, , , 寬頻賬號

.程式集變數 adslpwd, 文字型, , , 寬頻密碼

.程式集變數 許可

.程式集變數 撥號頻率

.程式集變數 執行緒次數, 整數型

.程式集變數 失敗重登, 邏輯型

.程式集變數 失敗重登次數

.子程式 _程式設計客棧建立執行緒池按鈕_被單擊

thread.建立 (到整數 (執行緒數編輯框.內容))

許可 = _建立進入許可證 ()

.子程式 _生成賬號密碼按鈕_被單擊

.區域性變數 x

.區域性變數 i

超級列表框.全部刪除 ()

.計次迴圈首 (20, x)

超級列表框.插入表項 (, 到文字 (x), , , , )

超級列表框.置標題 (x - 1, 1, 文字_取隨機字母 (8))

超級列表框.置標題 (x - 1, 2, 文字_取隨機數字 (6))

.計次迴圈尾 ()

.子程式 執行緒池控制

.區域性變數 賬號數

.區域性變數 calladsl

.區域性變數 i

賬號數 = 超級列表框.取表項數 ()

.計次迴圈首 (賬號數, i) ' 迴圈整個列表

.如果真程式設計客棧 (calladsl = 撥號頻率) ' 當投遞出去的執行緒等於設定好的 撥號頻率時,等待執行完成

.判斷迴圈首 (執行緒次數 > 0)

程式_延時 (300)

除錯輸出 (「等待執行緒執行完成..」)

.判斷迴圈尾 ()

除錯輸出 (「開始撥號..」)

adsl.重撥_cmd (adslname, adsluser, adslpwd)

程式_延時 (1000)

calladsl = 0

除錯輸出 (「撥號完成,繼續任務.

.如果真結束

calladsl = calladsl + 1

_進入許可區 (許可)

執行緒次數 = 執行緒次數 + 1

_退出許可區 (許可)

除錯輸出 (i - 1)

thread.投遞任務 (&登入執行緒, i - 1)

.計次迴圈尾 ()

.子程式 登入執行緒

.引數 列表索引

.區域性變數 user賬號, 文字型

.區域性變數 pwd密碼, 文字型

.區域性變數 登入結果, 文字型

.區域性變數 i

_進入許可區 (許可)

超級列表框.置標題 (列表索引, 3, 「登入中..」) ' 直接顯示狀態

user賬號 = 超級列表框.取標題 (列表索引, 1)

pwd密碼 = 超級列表框.取標題 (列表索引, 2)

_退出許可區 程式設計客棧(許可)

.如果真 (登入 (user賬號, pwd密碼, 登入結果) = 假)

.如果真 (失敗重登) ' 如果選中失敗重登

.計次迴圈首 (失敗重登次數, i) ' 迴圈重登次數

_進入許可區 (許可)

超級列表框.置標題 (列表索引, 3, 「重登 」 + 到文字 (i)) ' 重登...

_退出許可區 (許可)

.如果真 (登入 (user賬號, pwd密碼, 登入結果)) ' 如果登入成功

_進入許可區 (許可)

超級列表框.置標題 (列表索引, 3, 登入結果)

執行緒次數 = 執行緒次數 - 1

_退出許可區 (許可)

返回 ()

.如果真結束

程式_延時 (到整數 (文字_取隨機範圍數字 (1000, 3000)))

.計次迴圈尾 ()

.如果真結束

.如果真結束

_進入許可區 (許可)

超級列表框.置標題 (列表索引, 3, 登入結果) ' 直接顯示狀態

執行緒次數 = 執行緒次數 - 1

_退出許可區 (許可)

.子程式 登入, 邏輯型

.引數 賬號, 文字型

.引數 密碼, 文字型

.引數 返回登入結果, 文字型, 參考 可空

.區域性變數 i

i = 到整數 (文字_取隨機範圍數字 (1, 9))

' ///// 這裡我寫成隨機的

.如果真 (i = 1) ' 隨機生成1-10之間的數,如果是 1 則返回驗證碼錯誤

返回登入結果 = 「驗證碼錯誤」

返回 (假)

.如果真結束

.如果真 (i = 2) ' 隨機生成1-10之間的數....

返回登入結果 = 「密碼錯誤」

返回 (假)

.如果真結束

.如果真 (i = 3) ' 隨機生成1-10之間的數....

返回登入結果 = 「ip被限制」

返回 (假)

.如果真結束

' 其他的隨機數均為成功

返回登入結果 = 「登入成功」

返回 (真)

.子程式 _開始按鈕_被單擊

失敗重登 = 失敗重登選擇框.選中

失敗重登次數 = 到整數 (重登次數編輯框.內容)

撥號頻率 = 到整數 (頻率編輯框.內容)

執行緒_建立 (&執行緒池控制)

.子程式 __啟動視窗_建立完畢

adsl.取寬頻使用者名密碼 (adslname, adsluser, adslpwd)

執行結果:

總結

易語言多執行緒大漠多執行緒模板UI更新

ui更新就是對視窗的元件超級列表框傳送讀寫,採用了封裝。大漠多執行緒模板原始碼 版本 2 支援庫 iext 子程式 ui 更新,用來更新視窗的超級列表框相關執行緒資訊 引數 主序號,整數型 引數 操作,整數型 區域性變數 列表索引,整數型 增加 如果真 操作 ui 增加 列表索引 視窗列表.插入表項...

易語言多執行緒大漠多執行緒模板指令碼延時

易語言裡有延遲 延時,模組裡也有程式延時,超級延時,之類的命名,但多執行緒裡的指令碼的暫停和恢復,還涉及到內部解綁,這裡採用ui通知的方式,開始真正的暫停,使用死迴圈,不去呼叫系統介面,減少系統資源的占用。511遇見易語言多執行緒大漠多執行緒 大漠多執行緒指令碼延時 版本 2 子程式 指令碼延時,用...

易語言多執行緒大漠多執行緒模板多執行緒初始化

多執行緒初始化,在啟動視窗後,需要首先呼叫,包括對執行緒控制代碼,視窗控制代碼,程序pid,程序狀態,異常狀態,是否暫停,是否結束的初始化,特別說明的是,為任務狀態申請記憶體空間,因為任務狀態的資料型別是文字型,防止避免多執行緒訪問文字型變數引發的資料衝突,預先分配好記憶體位址。511遇見易語言多執...