Back

Explore Courses Blog Tutorials Interview Questions
0 votes
2 views
in Python by (45.3k points)

Suppose I have the following in Python

# A loop

for i in range(10000):

    Do Task A

# B loop

for i in range(10000):

    Do Task B

How do I run these loops simultaneously in Python?

1 Answer

0 votes
by (16.8k points)

If you want concurrency, here's a very simple example:

from multiprocessing import Process

def loop_a():

    while 1:

        print("a")

def loop_b():

    while 1:

        print("b")

if __name__ == '__main__':

    Process(target=loop_a).start()

    Process(target=loop_b).start()

This is just the most basic example I could think of. Be sure to read http://docs.python.org/library/multiprocessing.html to understand what's happening.

If you want to send data back to the program, I'd recommend using a Queue (which in my experience is easiest to use).

You can use a thread instead if you don't mind the global interpreter lock. Processes are more expensive to instantiate but they offer true concurrency.

Browse Categories

...