Я хочу выполнить две функции параллельно и хочу убедиться, что они работают параллельно. здесь я запускаю 2 функции параллельно, но вывод, который я получаю, отличается. в идеале они должны заканчиваться одновременно
Я использую ОС Windows 10, поэтому не могу использовать Ray. Даже не может использовать пул, так как используемые мной функции будут другими
Код:
import datetime
from multiprocessing import Process
import os
import datetime
def info(title):
print(title)
print('module name:', __name__)
print('parent process:', os.getppid())
print('process id:', os.getpid())
def f(name):
info('function f')
print('hello', name)
def func1():
for i in range(1):
print('function 1 running')
for j in range(10000):
for k in range(10000):
a=1
print(datetime.datetime.now())
return
def func2():
for i in range(1):
print('function 2 running')
for j in range(10000):
for k in range(10000):
a=1
print(datetime.datetime.now())
return
if __name__ == '__main__':
info('main line')
p1 = Process(target=func1())
p1.start()
p2 = Process(target=func2())
p2.start()
Выход:
main line
module name: __main__
parent process: 17284
process id: 2372
function 1 running
2019-07-07 12:00:44.512577
function 2 running
2019-07-07 12:00:50.100357
Ожидаемый результат:
function 1 running
function 2 running
2019-07-07 12:00:44.512577
2019-07-07 12:00:44.512577