Non scappare se stai imparando Python, perché questo articolo ha lo scopo di spiegarti nel modo più semplice cos’è GIL. Naturalmente, si deve iniziare spiegando cosa sono i thread e i processi. Non preoccuparti, farò del mio meglio per renderlo più semplice per tutti, anche se ciò sacrificherà una certa accuratezza della definizione.
Ora dovremmo iniziare.
Alcuni concetti
Il multithreading è una delle tecniche di programmazione più comuni, che esiste anche in Python.
Ci consente di eseguire più operazioni contemporaneamente. Di solito, il multi-threading può creare maggiore efficienza nell’utilizzo della CPU. Inoltre, la maggior parte delle attività di I/O possono trarre vantaggio dall’esecuzione simultanea dei thread.
Per favore, non confondetevi sui concetti”processi” E “filo”. A un processo verrà allocata una certa memoria ed è completamente isolato dagli altri processi in un sistema operativo. Pertanto, un programma schiacciato nel nostro sistema operativo di solito non avrà alcun impatto sugli altri.
UN processi poter avere più thread correndo sotto di esso, condividendo molte delle stesse risorse come la memoria. Pertanto, un filo schiacciato causerà lo schiacciamento dell’intero processo. Poiché i thread condividono la memoria tra loro, potrebbero anche creare problemi nel processo. Lo dimostrerò più tardi.
Esempio di codice
Vediamo ora come scrivere codice Python con la tecnica del multi-threading.
Per prima cosa importiamo il file threading
modulo integrato in Python.
import threading
Per poter testare il multi-threading, definiamo una funzione abbastanza semplice ma che richiederà del tempo.
def compute()…
Fonte: towardsdatascience.com