Explain the Global Interpreter Lock (GIL) in Python and its implications.
The Global Interpreter Lock (GIL) is a mutex that protects access to Python objects, preventing multiple native threads from executing Python bytecodes at once. This can limit the execution of parallel threads and impact the performance of multi-threaded Python programs, especially on multi-core systems.