From 31fe1180898d76f8fbc2c1364c8d3bdcd9f5f8cc Mon Sep 17 00:00:00 2001 From: Changli Han Date: Sat, 9 Mar 2024 00:37:07 +0100 Subject: [PATCH] GH-116526 patch Synchronization between processes example --- Doc/library/multiprocessing.rst | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Doc/library/multiprocessing.rst b/Doc/library/multiprocessing.rst index 0b87de4c61e6aa..758ca0bdc0b47e 100644 --- a/Doc/library/multiprocessing.rst +++ b/Doc/library/multiprocessing.rst @@ -301,8 +301,15 @@ that only one process prints to standard output at a time:: if __name__ == '__main__': lock = Lock() + processes = [] + for num in range(10): - Process(target=f, args=(lock, num)).start() + p = Process(target=f, args=(lock, num)) + processes.append(p) + p.start() + + for p in processes: + p.join() Without using the lock output from the different processes is liable to get all mixed up.