Evet arkadaşlar, artık özyinelemeli yeni vergilerin ve Holokost'un amacının ne olduğunu ve vergilerin POSIX kütüphanesi
tarafından sağlanan gerileyen vergilerin dahili desteğini kullanarak bir programda kullanılabileceğini açıkça anladık.
Şimdi kendi Recursive More versiyonumuzu uygulayarak recursive more vergileri hakkında daha fazla bilgi edinelim.
Tamam.
Bir şeyler öğrenmek için tekerleği yeniden icat etmek her zaman iyi bir fikirdir.
Bu nedenle yapacağımız şey, özyinelemeli mod XD adı verilen kendi veri yapımızı
uygulayacağız ve işlevsellik açısından bu özyinelemeli Murdock'lar üzerinde işlem yapan aşağıdaki beş API'yi
uygulayacağız ve özyinelemeli Murdock'ların uygulanması, dahili özyinelemeli muteksin sağladığı işlevsellikle
tam olarak eşleşmelidir.
Neden bir POS XP iş parçacığı kütüphanesi?
Şimdi tüm kısıtlamaların neler olduğunu listeleyeyim.
Özellikler özyinelemeli uygulamalardır.
Miraz buna uymak zorunda.
Birincisi, 21'in özyinelemeli muteks uygulamasında olan cimarex kaydı üzerinde bir kilidi varsa,
sürecin başka herhangi bir iş parçacığı bu özyinelemeli metin üzerinde bir kilit elde etmeye çalışırsa ve söz konusu iş
parçacığı hemen engellenmelidir.
Tamam.
Yani bu, ikinci kuraldan daha fazla verginin ilk ve en belirgin özelliğidir, eğer
yürütmeye devam etmeye hazırsanız.
Sadece anlaşma, bu konuda zaten bir kilidi elinde tutan Cimarex, bu kayıttaki tüm kilitleri
serbest bıraktığında Cimarex.
Tamam.
Dolayısıyla, yalnızca Cimarex üzerinde bir kilit tutan anlaşma, bu özyinelemeli Murdock'lar üzerindeki tüm kilitleri
serbest bıraktığında, yalnızca bu istek üzerine bir kilit vermek için bekleyen diğer herhangi bir iş parçacığı, muteks yürütmeye
devam etmelidir.
Tamam.
Şimdi, riskle ilgili nokta, muteks tıpkı diğer normal modlar gibi olduğu için, erişimin karşılıklı dışlamayı
garanti etmesi gerektiğidir.
Bu zirve vergileri tarafından korunan kritik bölüm içinde herhangi bir zamanda tehditlerin
yürütülmesi gerekmez.
O zaman diyelim ki puan numarası, uyarı izi uyarı izi, kayıt cimarex'ine zaten bir kilit vermiş olan
bir tehdit anlamına gelir.
Bu nedenle, Cimarex'i serbest bırakmak için sadece tad'ın kilit çağrıları kadar kilit açma çağrısı yapması gerekir.
Tamam.
Ve beşinci madde, herhangi bir tehdit zaten kilidi açılmış bir Ruger Cimarex'in kilidini açmaya çalışırsa, programınızın
bunun geliştiricinin de yaptığı anlamına geldiğini iddia etmesi gerektiğini söylüyor.
Bu bir grup API'nin yanlış kullanımı, bu API'lerin uygulanmasında bir hata olmasıdır, bu nedenle programınız
bu API'lerin yanlış kullanımı olduğunda veya bu API'lerin yanlış bir uygulaması olduğunda assert etmelidir.
Dolayısıyla bir sonraki derste, bu acil dış yapıyı nasıl tanımlayabileceğimizi
ve bu konuda benzer eylemler üzerinde işlem yapan bu dört API'nin her birini nasıl uygulayabileceğimizi tartışacağız.
Ayrıca size titiz Cimarex uygulamamızı test edeceğimiz demo programını da göstereceğim.
Bu yüzden tekerlekli yükleyiciyi yeniden icat edeceğiz.
Özyinelemeli muteks işlevi zaten var, sonunda altı iş parçacığı kütüphanesi yayınlayacak.
Tekerleği yeniden icat edeceğiz, böylece özel iş parçacığı senkronizasyon veri yapılarının tamamen sıfırdan nasıl
oluşturulabileceğini öğrenebiliriz.
Ve multithreading Bible slash recursive mutex olan aşağıdaki botta özyinelemeli sessiz
erişimin uygulanmasını bulabilirsiniz ve uygulama Slashdot'ta sunulan dosyada mevcuttur
Bakın ve test edin, ortalama işlevi içeren kaynaktır ve özyinelemeli sessizliğin uygulanmasını test
eder.
Tamam.