Multiprocessing : use tqdm to display a progress bar : <p>To make my code more "pythonic" and faster, I use "multiprocessing" and a map function to send it a) the function and b) the range of iterations.</p>

<p>The implanted solution (i.e., call tqdm directly on the range tqdm.tqdm(range(0, 30)) does not work with multiprocessing (as formulated in the code below). </p>

<p>The progress bar is displayed from 0 to 100% (when python reads the code?) but it does not indicate the actual progress of the map function.</p>

<p><strong>How to display a progress bar that indicates at which step the 'map' function is ?</strong></p>

<pre><code>from multiprocessing import Pool
import tqdm
import time

def _foo(my_number):
   square = my_number * my_number
   time.sleep(1)
   return square 

if __name__ == '__main__':
   p = Pool(2)
   r = p.map(_foo, tqdm.tqdm(range(0, 30)))
   p.close()
   p.join()
</code></pre>

<p>Any help or suggestions are welcome...</p>
