在python中我想創建一個異步方法創建一個線程,而不會阻塞主線程。當新線程完成時,我從該函數/線程返回一個值。python中的異步函數調用
例如,該類用於從網頁中檢索一些信息。我想在一個下載頁面並返回一個對象的函數中運行並行處理。
class WebDown:
def display(self, url):
print 'display(): ' + content
def download(self, url):
thread = Thread(target=self.get_info)
# thread join
print 'download(): ' + content
# return the info
def get_info(self, url):
# download page
# retrieve info
return info
if __name__ == '__main__':
wd = WebDown()
ret = wd.download('http://...')
wd.display('http://...')
我這個例子中,爲了檢索信息,在display()中打印其他信息後調用download()。打印輸出應該是
display(): foo, bar, ....
download(): blue, red, ....
你有沒有嘗試過python的線程模塊? – 2014-10-26 20:01:51
是的,但我不知道如何使用線程模塊調用異步方法 – NaN 2014-10-26 20:03:42
你想創建一個方法來調用異步嗎? – 2014-10-26 20:04:09