wiki:
Se denomina sección crítica o región crítica, en programación concurrente de ciencias de la computación, a la porción de código de un programa de ordenador en la que se accede a un recurso compartido (estructura de datos o dispositivo) que no debe ser accedido por más de un proceso o hilo en ejecución. La sección crítica por lo general termina en un tiempo determinado y el hilo, proceso o tarea sólo tendrá que esperar un período determinado de tiempo para entrar. Se necesita un mecanismo de sincronización en la entrada y salida de la sección crítica para asegurar la utilización en exclusiva del recurso, por ejemplo un semáforo, monitores, el algoritmo de Dekker y Peterson, los candados.
imagina que tienes 2 programas simultaneamente leyendo y escribiendo un archivo, los errores están a la orden del dia, sin embargo usualmente se refiere mas a la ejecución multi hilo, donde multiples hilos tienen accesos a los objetos y variables
el mismo ejemplo de los archivos pero con objetos... imagina que tienes 2 hilos, uno escribe datos que obtenga de un socket y otro la entrada del usuario, casualmente mientras lees algo del socket el usuario ingresa un valor y en aambos casos el valor debe concatenarse a una variable
ejemplo
obtenido_socket = "hola"
obtenido_stdin = "mundo"
como debe quedar? hola+mundo, mundo+hola? el problema es que puede quedar algo como munholado