La
computación concurrente es la simultaneidad en la ejecución de múltiples tareas interactivas. Estas tareas pueden ser un conjunto de
procesos o
hilos de ejecución creados por un único programa. Las tareas se pueden ejecutar en una sola
unidad central de proceso (
multiprogramación), en
varios procesadores o en una red de
computadores distribuidos. La programación concurrente está relacionada con la
programación paralela, pero enfatiza más la interacción entre tareas. Así, la correcta secuencia de interacciones o comunicaciones entre los procesos y el acceso coordinado de recursos que se comparten por todos los procesos o tareas son las claves de esta disciplina.