Hola Eduardo, me surge una pregunta, en la implementación del método Lock.
Si comparo el tiempo de ejecución del script de la clase anterior, cuando padecíamos el “Race Condition” (cosa que en mi pc, no he conseguido reproducir), con el script que implementa el uso del Lock, el tiempo de ejecución en este último se dispara más del doble, lógicamente porque al bloquear el acceso al dato compartido en el thread1, estamos bloqueando al thread2, no solo al acceso al dato sino que al thread2 por entero. Y luego hacemos lo mismo con el thread2.
¿Sería correcto solo implementar el lock en el thread1?, ya que cuando este acabe, supuestamente acabará el procesodel thread1, por lo que el thread2 no debería compartir el dato con thread1 al estar este ya finalizado.
Yo lo he testeado y no se porqué el tiempo de ejecución usando lock en cada proceso se eterniza, sin embargo, si solo lo uso en el thread1, es casi automático.
¿es posible que la velocidad de finalización del script dependa de si usas
with, o si usas acquire-release?. (me parece que he notado diferencias de tiempo usando uno u otro método).
Un saludo y disculpa por lo largo de la pregunta.