En informática , el algoritmo del avestruz es una estrategia que consiste en ignorar los problemas potenciales porque pueden ser extremadamente raros. Su nombre se debe al efecto avestruz , que se define como "meter la cabeza en la arena y pretender que no hay ningún problema". Se utiliza cuando parece que la situación se puede gestionar de forma más rentable permitiendo que el problema siga ocurriendo en lugar de intentar prevenirlo.
Este enfoque se puede utilizar para tratar los bloqueos en la programación concurrente si se cree que son muy poco frecuentes y el coste de detección o prevención es alto. Un conjunto de procesos está bloqueado si cada proceso del conjunto está esperando un evento que solo otro proceso del conjunto puede provocar.
El algoritmo del avestruz asume que no hay ningún problema y es razonable utilizarlo si los bloqueos ocurren muy raramente y el costo de su prevención sería alto. Los sistemas operativos UNIX y Windows adoptan este enfoque. [1] [2]
Aunque el uso del algoritmo del avestruz es uno de los métodos para lidiar con los bloqueos , existen otros métodos efectivos como la evitación dinámica, el algoritmo del banquero , la detección y recuperación, y la prevención. [3]