Я выполняю два метода параллельно.
- Однако я не понимаю, как получить возвращаемые значения двух функций из моего вызова функции?
- Кроме того, я получил этот код откуда-то еще и не понимаю, в чем именно заключается значение «is_something1» и «is_something2» и какова его роль здесь?
import datetime
import time
def func1():
print("function1 called "+ str(datetime.datetime.now())+"\n")
time.sleep(5)
print("function1 ended "+ str(datetime.datetime.now())+"\n")
list1 = [4,5,6]
return list1
def func2(str_sample):
print("function2 called "+ str(datetime.datetime.now())+"\n")
time.sleep(5)
print("function2 ended "+ str(datetime.datetime.now())+"\n")
list2 = [1,2,3]
return list2
def run_io_tasks_in_parallel(tasks):
with ThreadPoolExecutor() as executor:
running_tasks = [executor.submit(task) for task in tasks]
for running_task in running_tasks:
running_task.result()
results = run_io_tasks_in_parallel([
lambda: {'is_something1': func1()},
lambda: {'is_something2': func2()},
])
Подробнее здесь: https://stackoverflow.com/questions/572 ... rogramming
Мобильная версия