網(wǎng)友評分:
5分
TMultiThread 是一款幫助創(chuàng)建多個線程的非可視化類工具,用于創(chuàng)建多線程縮略圖或任何其他需要很多線程的任務(wù)。指定一個max. thread計數(shù),并簡單地將工作添加到類中,當(dāng)工作準(zhǔn)備好時,將調(diào)用帶有結(jié)果的回調(diào)事件。
1) 提高應(yīng)用程序響應(yīng)。這對圖形界面的程序尤其有意義,當(dāng)一個操作耗時很長時,整個系統(tǒng)都會等待這個操作,此時程序不會響應(yīng)鍵盤、鼠標(biāo)、菜單的操作,而使用多線程技術(shù),將耗時長的操作(time consuming)置于一個新的線程,可以避免這種尷尬的情況。
2) 使多CPU系統(tǒng)更加有效。操作系統(tǒng)會保證當(dāng)線程數(shù)不大于CPU數(shù)目時,不同的線程運行于不同的CPU上。
3) 改善程序結(jié)構(gòu)。一個既長又復(fù)雜的進程可以考慮分為多個線程,成為幾個獨立或半獨立的運行部分,這樣的程序會利于理解和修改。
一.建立環(huán)境
threading
安裝:anaconda自帶
二.使用格式
1 import threading
2 class Set_Globa(threading.Thread):
3 def __init__(self):
4 super(Set_Globa, self).__init__()
5 def run(self):
6 pass
7 Set_Globa().start()
三.注意事項:
多線程必然有數(shù)據(jù)的交互故而一定要用到threading.Lock()鎖,在使用交互數(shù)據(jù)時一定要獲得和釋放鎖
四.使用思路:
思路一:1 + X多線程
情景:多線程處理for循環(huán)并且每個for循環(huán)彼此獨立互不影響
線程數(shù):1 + X
1:分發(fā)線程,所有的數(shù)據(jù)獲得由此線程承擔(dān),并分發(fā),分發(fā)時注意獲得鎖
X:執(zhí)行線程,從交互的數(shù)據(jù)部分取出數(shù)據(jù)并進行執(zhí)行。
設(shè)置多個global變量作為線程間的交互的數(shù)據(jù)存儲地址。
V2.0.2.2
在調(diào)用工作者回調(diào)事件時固定“結(jié)果”不為零
V2.0.1.1
添加 ThreadStartCallback 和 ThreadFinishedCallback 回調(diào)事件
標(biāo)簽: TMultiThread
關(guān)于本站|下載幫助|下載聲明|軟件發(fā)布|聯(lián)系我們
Copyright ? 2005-2025 m.virtualinsta360.com.All rights reserved.
浙ICP備2024132706號-1 浙公網(wǎng)安備33038102330474號