Programación de la concurrencia

Fiabilidad

¿Qué significa la concurrencia en 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 pueden ejecutarse fuera de orden y el resultado seguiría siendo el mismo que si se ejecutaran en orden.

Definición de concurrencia en la programación

La concurrencia 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 concurrentes 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 del Dining es un experimento mental clásico que ilustra las complejidades de la compartición de recursos y la concurrencia.

Los sistemas operativos multitarea modernos son concurrentes por su capacidad de ejecutar muchos programas diferentes a la vez. A medida que el hardware informático se abarata, la ejecución de trabajos complejos en clusters es cada vez más factible.

Varios lenguajes de programación se han diseñado teniendo en cuenta la concurrencia, incluido Go.

Temas relacionados

Margaret Rouse
Technology Specialist
Margaret Rouse
Experta en tecnología

Margaret Rouse es una galardonada escritora técnica y profesora conocida por su habilidad para explicar temas técnicos complejos a una audiencia de negocios no técnica. Durante los últimos veinte años, sus explicaciones han aparecido en sitios web de TechTarget y ha sido citada como autoridad en artículos del New York Times, Time Magazine, USA Today, ZDNet, PC Magazine y Discovery Magazine. La idea de diversión de Margaret es ayudar a profesionales de TI y negocios a aprender a hablar los idiomas altamente especializados de cada uno. Si tienes una sugerencia para una nueva definición o cómo mejorar una explicación técnica,…