Η Python προσφέρει τρία μοντέλα ταυτοχρονισμού, και η σωστή επιλογή εξαρτάται κυρίως από το αν το έργο σας είναι δεσμευμένο με I/O ή δεσμευμένο με CPU — μια απόφαση που σχηματίζεται σε μεγάλο βαθμό από το GIL (το οποίο αποτρέπει τα threads να εκτελούν κώδικα Python παράλληλα).
Τα τρία μοντέλα
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.
