В python Я хочу создать метод async в классе, создающем поток без блокировки основного потока. Когда новый поток заканчивается, я возвращаю значение из этой функции/потока.Асинхронный вызов функции в 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(): foo, bar, ....
download(): blue, red, ....
Вы пробовали модуль потоковой передачи в python? –
да, но я не знаю, как использовать модуль потоковой передачи для метода асинхронного вызова – NaN
вы хотите создать метод, который выполняет вызовы async? –