Maison > Questions et réponses > le corps du texte
ringa_lee2017-04-18 10:10:49
C'est plus facile à comprendre. GIL garantit que le code d'octet python n'a qu'un seul thread natif exécuté
dans le processus en même temps. Cependant, la logique du byte code lui-même nécessite toujours un verrouillage/exclusion mutuelle, etc. pour garantir que le thread peut être réentrant, car le byte code peut être interrompu à tout moment pendant le processus en cours et basculé vers un autre thread.
Un morceau de code de compteur :
//Étape 1
counter = get_counter()
//Étape 2
counter += 1
/ / Étape 3
set_counter(counter)
Le résultat attendu devrait être que les deux threads ont compté et le compteur final devrait être 2 :<🎜. >
Cependant, faute de verrouillage/exclusion mutuelle, la situation d'exécution est la suivante :
.