Computación concurrente
Los pioneros en este campo incluyen a Edsger Dijkstra, Per Brinch Hansen, y C. A. R. Hoare.[2][3] Aunque ambas pueden ser descritas como "múltiples procesos ejecutándose dentro del mismo periodo de tiempo".[5] Los problemas potenciales incluyen el bloqueo mutuo, las condiciones de carrera y la inanición.Estas diferencias suelen ser muy menores comparadas con otros factores visibles en un programa del mundo real.Estos aparecieron para contestar ciertas preguntas, como manejar múltiples trenes en el mismo sistema ferroviario (evitando colisiones y maximizando la eficiencia) y como controlar múltiples transmisiones en el mismo conjunto de cables (maximizando eficiencia), como por ejemplo la multiplexión por división de tiempo, que data hasta los años 1870s.El primer estudio académico de algoritmos concurrentes comenzó en la década del 60, con Dijkstra acreditado con haber escrito la primera documentación en esta área, identificando y resolviendo excluciones mutuas.