Process.join() code example
Example 1: python - multiprocessing
import time
from multiprocessing import Process
def my_func_1():...
def my_func_2():...
start = time.time()
my_func_1()
my_func_2()
print(f'Single thread total time: {time.time() - start}')
process = Process(target=my_func_1)
process2 = Process(target=my_func_2)
process.start()
process2.start()
start = time.time()
process.join()
process2.join()
print(f'Two thread total time: {time.time() - start}')
Example 2: Process.join()
import multiprocessing as mp
def foo(q):
q.put('hello')
if __name__ == '__main__':
mp.set_start_method('spawn')
q = mp.Queue()
p = mp.Process(target=foo, args=(q,))
p.start()
print(q.get())
p.join()
Example 3: Process.join()
from multiprocessing import Process
import os
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)
if __name__ == '__main__':
info('main line')
p = Process(target=f, args=('bob',))
p.start()
p.join()
Example 4: Process.join()
from multiprocessing import Process
def f(name):
print('hello', name)
if __name__ == '__main__':
p = Process(target=f, args=('bob',))
p.start()
p.join()
Example 5: Process.join()
import multiprocessing as mp
def foo(q):
q.put('hello')
if __name__ == '__main__':
ctx = mp.get_context('spawn')
q = ctx.Queue()
p = ctx.Process(target=foo, args=(q,))
p.start()
print(q.get())
p.join()