Aller au contenu principal

🧶 Conditions de course

🎯 Objectif pédagogique

  • Vous familiariser avec la création et la gestion de threads en Python.
  • Être confronté à des problèmes de synchronisation entre threads.

📜 Énoncé

Écrire un programme qui démarre deux threads, exécutant la même fonction plus_un() définie ci-dessous. Cette fonction incrémente une variable globale compteur dix milles fois. Le programme affiche ensuite la valeur finale de compteur. Voici un bout de code pour vous aider.

import threading

compteur = 0

def un():
return 1

def plus_un():
global compteur
for _ in range(1_000_000):
compteur = compteur + un()

# Démarrage des threads
# ... votre code ici ...

print(compteur)

Exécutez plusieurs fois le programme et répondez à la question suivante :

  • Est-ce que le programme affiche toujours 20000 ? Pourquoi ?