running two process simultaneously
16,768
Solution 1
Below will work for sure but try to run this as a module.Don't try in console or Jupiter notebook as notebook will never satisfy the condition "if name == 'main'". Save the entire code in a file say process.py and run it from command prompt. Edit - It's working fine. Just now I tried -
import multiprocessing
import time
def add():
while True:
print (1)
time.sleep(3)
def sud():
while True:
print(0)
time.sleep(3)
if __name__ == '__main__':
p1 = multiprocessing.Process(name='p1', target=add)
p = multiprocessing.Process(name='p', target=sud)
p1.start()
p.start()
Solution 2
The method you're looking for is start
, not run
. start
starts the process and calls run
to perform the work in the new process; if you call run
, you run the work in the calling process instead of a new process.
Author by
aja
Updated on June 13, 2022Comments
-
aja almost 2 years
I'm trying to run 2 processes simultaneously, but only the first one runs
def add(): while True: print (1) time.sleep(3) def sud(): while True: print(0) time.sleep(3) p1 = multiprocessing.Process(target=add) p1.run() p = multiprocessing.Process(target=sud) p.run()