running two process simultaneously

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() 
4

2 Answers

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 - enter image description here

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() 

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.

10

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like