from threading import Thread N = 0 # variable globale # fonction qui incrémente plusieurs fois la variable globale def incr(): global N # nécessaire pour modifier une variable globale for _ in range(1000000): N = new_value(N) # cf https://stackoverflow.com/questions/77096404/cant-create-race-condition-in-python-3-11-using-multiple-threads def new_value(n): return n + 1 # on définit 2 processus légers. Ils partagent la mémoire t1 = Thread(target=incr) t2 = Thread(target=incr) # on les lance, ils s'exécutent "en parallèle" t1.start() t2.start() # on attend qu'ils se terminent t1.join() t2.join() print(f"La valeur finale de N est {N}.")