python 自定義多執行緒類獲取函式的返回值

2021-10-01 15:56:06 字數 2200 閱讀 2358

[python] 純文字檢視

複製** ?

importthreading

classresthread(threading.thread):

'''重寫執行緒類'''

def__init__(self, func,*args,**kwargs):

super().__init__()# 呼叫父類初始化方法

self.func=func

self.args=args

self.kwargs=kwargs

self.result=none

defrun(self):

'''重寫run方法, 用變數接收函式返回值'''

self.result=self.func(*self.args,**self.kwargs)

defgetresult(self):

'''增加獲取結果函式, 待程式執行完畢之後才可獲取'''

ifself.result:

returnself.result

else:

raiseexception("the current thread is not executed")

deffn():

return"我是返回值!"

t1=resthread(fn)# 建立自定義執行緒物件

t1.start()# 啟動執行緒任務

t1.join()# 等待執行緒執行完畢

print(t1.getresult())# 獲取並列印返回值

實現之前覺著可能還蠻複雜的, 實現之後也不過如此, 望能幫到諸位.

end~

自定義執行緒類

根據需求定義執行緒類 import threading from time import 建立執行緒類,繼承threading.thread類 初始化func,args,name等引數,這裡testthread類重寫父類threading.thread了 init 方法 super 函式 解決了子類...

Python自定義執行緒類簡單示例

python自定義執行緒類簡單示例 這篇文章主要介紹了python自定義執行緒類,結合簡單例項形式分析python執行緒的定義與呼叫相關操作技巧,需要的朋友可以參考下。具體如下 一.coding utf 8 python2 import threading class mythread thread...

python3多執行緒自定義threading子類

1 python3多執行緒自定義threading.thread的子類 2 多執行緒並行,獲取多執行緒執行結果 import threading from time import sleep exitflag true defpp1 args i 1while exitflag print r 20...