import threading
import time

x = 0
N_ITERACIONES = 1000
N_HILOS = 5

def incrementador():
    global x
    for _ in range(N_ITERACIONES):
        v = x
        time.sleep(0.000001)  # Forzar el cambio de contexto entre hilos
        x = v + 1

# Crear y lanzar 5 hilos concurrentes
hilos = [threading.Thread(target=incrementador) for _ in range(N_HILOS)]

for h in hilos:
    h.start()

for h in hilos:
    h.join()

print(f"Valor final de x: {x} (Esperado: {N_HILOS * N_ITERACIONES})")
