¿Puede un programa multihilo ser alguna vez determinista?
Normalmente se dice que los programas de subprocesos múltiples no son deterministas, lo que significa que si se bloquea será casi imposible recrear el error que causó la condición. Uno nunca sabe realmente qué hilo se ejecutará a continuación, y cuándo será reemplazado nuevamente.
Por supuesto, esto tiene que ver con el algoritmo de programación de subprocesos del sistema operativo y el hecho de que uno no sabe qué subproceso se ejecutará a continuación y cuánto tiempo se ejecutará efectivamente. La orden de ejecución del programa también juega un papel, etc.
Pero, ¿qué pasaría si tuviera el algoritmo utilizado para la programación de subprocesos y si supiera cuándo se está ejecutando el subproceso, podría un programa de subprocesos múltiples volverse "determinista", ya que, en ese momento, podrá reproducir un bloqueo?