Answer
GIL allows only one thread to execute Python bytecode at a time.
Limits CPU-bound threading.
I/O-bound threads work well.
Multiprocessing bypasses GIL.
Limits CPU-bound threading.
I/O-bound threads work well.
Multiprocessing bypasses GIL.