您好,登錄后才能下訂單哦!
import threading
import time
def run(n):
print("talk",n)
time.sleep(3)
#run("t1")
#run("t2")
t1=threading.Thread(target=run,args=("t1",))
t2=threading.Thread(target=run,args=("t2",))
#t1.start()
#t2.start()
##類的多線程方式
class MyThread(threading.Thread):
def __init__(self,n,sleep):
super(MyThread,self).__init__()
self.n=n
self.sleep=sleep
def run(self):
print("talk me all you know",self.n)
time.sleep(self.sleep)
print("so esay %s",self.n)
#t1=MyThread("t1",2)
#t2=MyThread("t2",4)
#t1.start()
#t2.start()
#t1.join()
#t2.join() #等待t2的結果(這一步后直接計算時間得到的就是2個線程執行完所花的時間)
#print("主要程序執行完畢")
##計算所有線程花費的時間,守護線程(非守護線程一結束程序就結束),看是否是主線程,活躍的線程數量
def run(n):
print("task",n)
time.sleep(2)
stat_time=time.time()
loot=[] #創建一個空列表(存線程實例)
for i in range (50):
t=threading.Thread(target=run,args=("t-%s"%i,))
t.setDaemon(True)#把當前線程設置為守護線程
t.start()
loot.append(t) #為了不阻塞后面的線程啟動,不在這里join,先放到一個列表里
#for t in loot:#循環線程實例列表,等待所有線程執行完畢
#t.join() #等待一個線程全部執行完再執行其他線程(把并程改成了串行)
print("-----ddddd-----",threading.current_thread(),threading.active_count())#看是否是主線程,活躍的線程數量
print("cost:",time.time()-stat_time)
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。