Algoritma ostrich merupakan strategi penanganan deadlock dengan cara
mengabaikan masalah yang mungkin terjadi atas dasar bahwa masalah itu mungkin
sangat jarang terjadi.dalam hal ini berarti diasumsikan bahwa tidak ada
masalah. Dengan begitu mengasumsikan bahwa tidak ada masalah lebih efektif
daripada untuk memungkinkan masalah itu terjadi dibandingkan upaya
pencegahannya.
Pendekatan ini dapat digunakan dalam menangani deadlock pada pemrograman
concurrent jika deadlock diyakini sangat jarang terjadi, dan jika biaya untuk
mendeteksi atau pencegahan lebih tinggi.
Beberapa algoritma dengan kinerja yang buruk banyak digunakan karena mereka
hanya menunjukkan kinerja yang buruk pada kasus yang sengaja dibuat dan jarang
terjadi dalam praktik sesungguhnya, contoh-contoh yang khas adalah algoritma
simplex dan algoritma pengecekan tipe Standard ML. Masalah seperti integer
overflow dalam bahasa pemrograman tetap juga sering diabaikan karena mereka
hanya terjadi dalam kasus luar biasa yang tidak muncul untuk input sederhana.
Sedikit gambaran pada Algoritma Ostrich ini :
- Jangan lakukan apapun, cukup restart sistem (ostrich: benamkan kepala ke pasir dan berpura-pura tidak masalah sama sekali)
- Dilakukan bila:
- Deadlock sangat jarang terjadilah
- Algoritma deadlock lainnya biayanya lebih tinggi
- Diimplementasikan oleh Windows dan UNIX
- Trade off : Kenyamanan (convenience) vs keakuratan (correctness)