 1. Read documentation about apply_async method of multiprocessing.Pool
    https://docs.python.org/3/library/multiprocessing.html#multiprocessing.pool.Pool.apply_async
    This might be useful for server application where you are
    continuously receiving data and want to treat them in parallel.    
 2. See code5.py which is a parallel version code1.py with apply_async
 3. Compare performance of code2.py (version with Pool+map) and
    code5.py. code5.py is slower because it is equivalent to code2.py
    with chunksize=1. 
