Python oferă trei modele de concurență, iar alegerea corectă depinde în principal de faptul că munca ta este legată de I/O sau legată de CPU — o decizie foarte influențată de GIL (care împiedică firele de execuție să ruleze cod Python în paralel).
Cele trei modele
threading → multiple threads, ONE process. GIL-limited for CPU.
multiprocessing → multiple PROCESSES, each its own interpreter/GIL → true parallelism.
asyncio → single thread, cooperative coroutines yielding at await points.
