Многопоточность: как запускать разные функции в разных потоках? - PullRequest
1 голос
/ 20 марта 2020

Как вы можете запустить две или три разные функции в разных потоках в python?

Например, если я создал несколько примеров функций, как показано ниже.

def method1(x,y):
     calc = x*y
     print(calc)

def method2(x,y):
     calc = x+y
     print(calc)

def method3(x,y):
     calc = x-y
     print(calc)

Как бы я мог запустить все три функции одновременно в разных потоках?

1 Ответ

0 голосов
/ 20 марта 2020

Пример использования ThreadPoolExecutor (доступно в python3)

from concurrent.futures import ThreadPoolExecutor

def method1(x,y):
     calc = x*y
     print(calc)

def method2(x,y):
     calc = x+y
     print(calc)

def method3(x,y):
     calc = x-y
     print(calc)

pool = ThreadPoolExecutor(max_workers=3)
x = 5
y = 6
pool.submit(method1, x, y)
pool.submit(method2, x, y)
pool.submit(method3, x, y)
...