Poziom: zaawansowany
Fiszka #13 · Python
Co to jest GIL?
💡 Wskazówka do nauki: Zanim odsłonisz odpowiedź poniżej, spróbuj samodzielnie sformułować definicję lub napisać krótki przykład kodu w głowie (albo w naszym edytorze online).
Pokaż odpowiedź i przykład kodu
Opis i wyjaśnienie:
GIL (Global Interpreter Lock) to mechanizm, który zapobiega równoczesnemu wykonywaniu wielu wątków w jednym procesie interpretera Pythona.
Przykład w Pythonie:
import threading
licznik = 0
lock = threading.Lock()
def inc():
global licznik
for _ in range(100000):
with lock:
licznik += 1
ths = [threading.Thread(target=inc) for _ in range(4)]
[t.start() for t in ths]
[t.join() for t in ths]
print(licznik)