İçindekiler:
Tanımı - Dekker'in Algoritması ne anlama geliyor?
Dekker algoritması, eşzamanlı programlamada karşılıklı dışlama problemini çözen bilinen ilk algoritmadır. Th. J. Dekker, başka bir bağlam için algoritmayı oluşturan Hollandalı bir matematikçi. Dekker algoritması işlem kuyruğunda kullanılır ve iki farklı iş parçacığının iletişim için paylaşılan belleği kullanarak aynı tek kullanımlık kaynağı çakışma olmadan paylaşmasına izin verir.
Techopedia, Dekker'in Algoritmasını Açıklıyor
Dekker algoritması, iki işlem aynı anda kullanmaya çalışıyorsa, kaynağı tek bir işlemin kullanmasına izin verir. Algoritmanın en önemli özelliği, bu sorunu nasıl çözeceğidir. Karşılıklı dışlamayı uygulayarak çatışmayı önlemeyi başarır, yani kaynağı aynı anda yalnızca bir işlem kullanabilir ve başka bir işlem kullanıyorsa bekleyecektir. Bu, iki "bayrak" ve bir "jeton" kullanılarak elde edilir. Bayraklar, bir işlemin kritik bölüme (CS) girmek isteyip istemediğini gösterir; 1 değeri, sürecin CS'ye girmek istediği DOĞRU, 0 veya YANLIŞ ise bunun tersi anlamına gelir. Ayrıca 1 veya 0 değerine sahip olabilen belirteç, her iki işlemin bayrakları TRUE olarak ayarlandığında önceliği gösterir.
Bu algoritma karşılıklı dışlamayı başarıyla uygulayabilir, ancak kritik bölümün mevcut olup olmadığını sürekli olarak test eder ve bu nedenle önemli işlemci süresi harcar. Her bir iş parçacığının yalnızca katı senkronizasyonda çalışabileceği kilit adım senkronizasyonu olarak bilinen sorunu oluşturur. Ayrıca, karşılıklı dışlama için yalnızca en fazla iki işlemi desteklediğinden genişletilemez.