Как запустить несколько функций в Python, используя многопоточность? - PullRequest
1 голос
/ 08 июля 2019

Я новичок в мире Python и пробую свои силы в многопоточности и многопроцессорности. У меня есть две функции, и я хочу запускать их параллельно и хочу использовать максимально доступный.

from multiprocessing import Process

def func1(name='1'):
    print("function, %s" % name)
    for i in range(1,100000000):
        x=i*i

def func2(name='2'):
    print("function, %s" % name)
    for j in range(1,100000000):
        y=j*j

def func3(name='3'):
    print("function, %s" % name)
    for i in range(1,100000000):
        x=i*i

def func4(name='4'):
    print("function, %s" % name)
    for j in range(1,100000000):
        y=j*j


p1 = Process(target=func1)
p1.start()
p2 = Process(target=func2)
p2.start()
p3 = Process(target=func3)
p3.start()
p4 = Process(target=func4)
p4.start()

p1.join()
p2.join()
p3.join()
p4.join()

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

1 Ответ

0 голосов
/ 08 июля 2019

Возможно, вы захотите попробовать ProcessPoolExecutor , который позволяет вам установить параметр max_workers для числа процессоров, которые вы хотите использовать.

...