1. 通過重寫thread類,自定義乙個get_result()方法
"""重新定義帶返回值的執行緒類"""
from threading import thread
from time import sleep,time
class
mythread
(thread)
:def
__init__
(self, func, args)
:super
(mythread, self)
.__init__(
) self.func = func
self.args = args
defrun(self)
: self.result = self.func(
*self.args)
defget_result
(self)
:try
:return self.result
except exception:
return
none
defsum_
(a):
sleep(a)
return a*
8if __name__ ==
'__main__'
: time1 = time(
) result_list =
#不用多執行緒
for i in
range(1
,5):
t =sum_(i)
for i in result_list:
print
(i)print
('不用多執行緒耗時'
, time(
)- time1)
time2 = time(
)#多執行緒
thread_list =
for i in
range(1
,5):
t = mythread(func=sum_,args=
(i,)
) t.start(
)for i in thread_list:
t.join(
)# jion()方法等待執行緒完成
print
(i.get_result())
print
('多執行緒耗時'
,time(
)-time2)
2. 通過寫入公共變數的方法
pass
Python多執行緒獲取返回值
在使用多執行緒的時候難免想要獲取其操作完的返回值進行其他操作,下面的方法以作參考 一,首先重寫threading類,使其滿足呼叫特定的方法獲取其返回值 import threading class mythread threading.thread 重寫多執行緒,使其能夠返回值 def init s...
Python多執行緒獲取返回值
在使用多執行緒的時候難免想要獲取其操作完的返回值進行其他操作,下面的方法以作參考 一,首先重寫threading類,使其滿足呼叫特定的方法獲取其返回值 import threadingclass mythread threading.thread 重寫多執行緒,使其能夠返回值 def init se...
獲取Python多執行緒的返回值
用python多執行緒時,遇到需要獲取每個執行緒返回值的問題,經查資料學習總結如下 python中使用執行緒有兩種方式 用方法包裝執行緒和用類包裝執行緒 方法 一 用方法包裝執行緒 thread start new thread function args kwargs function 表示執行緒...