Concurrencia de programación

Definición: ¿Qué significa la simultaneidad de programación?

La concurrencia, en el contexto de la programación, es la capacidad de un programa de descomponerse en partes que pueden ejecutarse independientemente unas de otras.

Esto significa que las tareas se pueden ejecutar fuera de orden y el resultado sería el mismo que si se ejecutaran en orden.

Techinfo explica la simultaneidad de programación

La simultaneidad de programación es la capacidad de un algoritmo o programa para ejecutar más de una tarea a la vez. El concepto es similar al procesamiento en paralelo, pero con la posibilidad de que muchos trabajos independientes hagan cosas diferentes a la vez en lugar de ejecutar el mismo trabajo.

Los programas simultáneos pueden ser difíciles de escribir simplemente porque la gestión de tareas independientes requiere la coordinación de recursos. El famoso Problema de los filósofos gastronómicos es un experimento mental clásico que ilustra las complejidades del intercambio de recursos y la concurrencia.

Los sistemas operativos multitarea modernos son simultáneos con su capacidad para ejecutar muchos programas diferentes a la vez. A medida que el hardware informático se vuelve más barato, la ejecución de trabajos complejos en clústeres se vuelve más factible.

Se han diseñado varios lenguajes de programación teniendo en cuenta la simultaneidad, incluido Go.