Python & Мультипроцессинг - PullRequest
0 голосов
/ 05 января 2020
import multiprocessing

def main(a):
    while True:
        print(a)

p = multiprocessing.process(target=main(1))
p0 = multiprocessing.process(target=main(2))
p.start()
p0.start()

Если вы запускаете код, он просто печатает:

1
1
1
1
1
1
1
1

Это Actullay должен вывести что-то вроде этого

1
2
1
1
2
2
2
1
2
1
2

Как это исправить: я делаю исследования с этого утра. Пожалуйста, пришлите помощь.

1 Ответ

1 голос
/ 05 января 2020

Соответствует ли это вашим требованиям?

from multiprocessing import Process

def fun(a):
    while True:
        print(a)

if __name__ == '__main__':
    p = Process(target=fun, args=(1,)) # that's how you should pass arguments
    p.start()
    p1 = Process(target=fun, args=(2,))  
    p1.start()

вывод:

1
2
1
2
2
2
2
2
2
1
...