python重寫執行緒,獲取呼叫介面的返回值

2021-09-03 02:58:07 字數 921 閱讀 9143

import threading

class mythread(threading.thread):

def __init__(self,func,args=()):

super(mythread,self).__init__()

self.func = func

self.args = args

def run(self):

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

def get_result(self):

try:

# 如果子執行緒不使用join方法,此處可能會報沒有self.result的錯誤

return self.result

except exception:

return none

#下面寫要呼叫的介面

#例如,這裡是python2,python3的朋友自行更改**:

def foo(a,b,c):

time.sleep(1)

print a*2,b*2,c*2,

return a*2,b*2,c*2

st = time.time()

li =

for i in xrange(4):

#這裡一定要用重寫的類

t = mythread(foo,args=(i,i+1,i+2))

t.start()

for t in li:

# 一定要join,不然主線程比子執行緒跑的快,會拿不到結果

t.join()

print t.get_result()

et = time.time()

print et - st

可以i直接在下面寫入你要封裝的介面,供模組呼叫即可。另外對於**的縮排自己完善!

Python3呼叫webservice介面

工作中偶爾需要對接webservice的介面 網上搜了一下,不少的教程推薦使用suds。但是suds這個包早就停止維護了。對於簡單的呼叫,我還是覺得自己寫更方便點,夠用就行。介面不同,訊息體和需要傳入的引數也是不同的。body可以參照你需要請求的webservice介面的資料樣例 body str ...

C C 呼叫Python程式的List列表介面

該介面檔案為屬於python2.7的include python2.7 listobject.h。這裡的 刪除了原有的注釋。在linux中,可以使用如下的命令找到相關的檔案 sudo find grep listobject.h grep python2.7關於python3的版本,不在此處列舉。i...

Python呼叫API獲取天氣

此程式需要easygui模組,請使用pip install easygui 已知天氣 獲取天氣介面為 城市名,你知道 咋寫嗎?匯入包 from requests import get from easygui import enterbox,msgbox 獲取今天天氣的函式 defgettoday ...