Multiprocessing and Multithreading differences in Python