Python, Concurrency, Parallelism, Multiprocessing, Asynchronous.
this approach, the main process will not terminate until the subprocesses have completed their execution. def main(): print("main started") p1 = Process(target=foo) p2 = Process(target=boo) p1.start() p2.start() p1.join() p2.join() print("main ended") ***** main started foo started boo started foo