New2coding
New2coding

Reputation: 717

How to run n processes simultaneously in Python

I am trying to execute n processes simultaneously. The example below works with 2 processes that are supplied externally.

At the moment it is all hard-coded for just these 2 processes but I would need to come up with the generic solution how to accomplish the same - i.e. run n processes at the same time.

My code is as follows:

import multiprocessing

'''

The first process: print 'aa'
The second Process: print 'BB'

'''

def TR1(): 
    print 'aaaaaaaaa'

def TR2(): 
    print 'BBBBBBBB'

if __name__ == '__main__':

    process_1 = multiprocessing.Process(name='process_1', target=TR1)
    process_2 = multiprocessing.Process(name='process_2', target=TR2)

    process_1.start()
    process_2.start()

Thanks for your suggestions!

Upvotes: 0

Views: 299

Answers (1)

Slam
Slam

Reputation: 8572

You can either spawn processes in a loop, or use executor pool.

In real life, later one is often preferred approach, as you can limit pool size and have easy result gathering.

If you're using python 2, there's backport including ProcessPoolExecutor

Upvotes: 1

Related Questions