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

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.

Share:
16,768
aja
Author by

aja

Updated on June 13, 2022

Comments

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