uśpienia (np. czeka na operację I/O). • Kiedy kod w C (np. funkcja time.sleep()) zwolni GIL. • Co 100 “tyknięć” wewnętrznego licznika operacji w interpreterze.
wykonać w jednej “sesji”. • Gdy wątek wykona ilość instrukcji odpowiadającą 100 “tyknięciom”, interpreter wymusza jego uśpenie. • Interpreter wysyła sygnał do innych wątków, żeby się obudziły. • OS wybiera wątek, który będzie działał następny. • Wybrany przez OS wątek alokuje GIL i zaczyna wykonywać instrukcje.
zacznie obrabiać duże ilości danych w Pythonie na wielu wątkach. • Wątki są super jeśli Twoja aplikacja jest zależna od I/O. • Obliczenia realizuj na procesach w tle albo w C.