Evet, çocuklar, şimdi son API'mizi tartışalım.
Bu, Kilit Açma API'sinin uygulanmasıdır.
Tamam.
Ve bu API'de de bu üç vakayı ele alacağız.
Durum bu.
Birincisi, mevcut iş parçacığı zaten kilidi açılmış olan veya zaten mevcut olan yönlendirme kilidini
açmaya çalışırsa.
Tamam.
Dolayısıyla, tartıştığımız özelliklerin bir parçası olarak, programımız çökmelidir.
İkinci durumda, yazarın doğru aşk nesnesinin kilidini açmak için iki kez denediği bir mantık
uygulayacağız.
Ve üç numaralı durumda, okuyucunun yeniden yazma kilidi nesnesinin kilidini açmayı iki kez denediği
durumu uygulayacaktık.
Tamam.
Bir numaralı vakayla başlayalım.
Daha fazla ilerlemeden önce, durum muteks kilidi ve kilit açma arasında bu API'nin tüm
uygulamasıyla zaten imzaladığımı görebilirsiniz.
Tamam.
Bir numaralı duruma gelince, eğer mevcut eğilim, ki bu yeni olacak, bu kilit açma API'si zaten mevcut
olan aşk nesnesini yazmanın kilidini açmaya çalışır.
Peki burada yapmam gereken koşul nedir?
Basitçe söylemek gerekirse, yazardım.
Ve ben bittim.
Tamam.
Analogların değeri sıfırsa, yeniden tasarlanan kilit nesnesinin mevcut olduğu, yani sokak lambası kilit nesnesi
üzerinde bir kilit tutan zor olmadığı anlamına gelir.
Ve eğer bu son teknoloji ise, doğru kilit nesnesi ve uygulamada adım atmamak, API'yi yürümek ve kilitlemek
için bir işe sahiptir.
Bunu yaparsa, programımız çökmelidir.
Bu sadece geliştiricinin kilit açma API'sini kötüye kullandığı anlamına gelir.
Tamam.
Şimdi iki numaralı vakaya geliyoruz, bir numaralı vaka ile işimiz bitti.
Peki ya bu kilit açma API'sini çalıştıran mevcut eğilim bir yazar denemesi ise ve bu yazar denemesi bu rulet kilidi
nesnesinin kilidini açmaya çalışıyorsa?
Tamam.
Bu yüzden öncelikle, bu sağ kilit nesnesinin gerçekten de haklı tehdit tarafından tutulduğu koşulunu kontrol etmemiz
gerekir.
Pekala.
Dolayısıyla bu koşul doğru olacaktır ve her zaman doğru trader'ın yeniden yazma kilidi nesnesinin kilidini yalnızca ve yalnızca ilk etapta Yeniden
Uygulanan Kilit Nesnesinin sahibi olması durumunda açabileceğini unutmayın.
Yani bu basitçe şu anki tehdidin I. D. eşit olmalıdır.
Doğru kilit nesnesi üzerindeki bir kilidi işleyen Trent IED yazarı, aynı değilse, bu sadece sistemdeki
bazı iş parçacıklarının doğru kilit nesnesinin kilidini açmaya çalıştığı ve bu rotada bu kilit nesnesi üzerinde bir sahipliğe
sahip olmadığım anlamına gelir.
Bu durumda, kazamızı ileri sürebiliriz.
Şimdi yüz kırk beş numaralı satıra geçiyoruz.
Bölgesel itiraz durumumuzun tutarlı olduğundan emin olmak için bazı iddialarda bulunmama izin verin.
Dolayısıyla 145. Satırda, bu will dreadlock nesnesinin bir tehdit hakkı tarafından günlüğe kaydedildiği garanti edilir.
Yani bunun anlamı.
Okuyucu tarafından kaydedilenler yanlış olmalı.
Şimdi bu doğru kilit nesnesi üzerindeki kilidi serbest bırakmak için bir mantık uygulamam gerekiyor.
Yani kilidi serbest bırakmak, sadece kilit açılabilirliğin değerini düşüreceğim anlamına geliyor.
Analog ratable değerinin azalması, kilidin bu retreat lock nesnesinden geri alındığı anlamına
gelir.
Tamam.
Ve eğer.
Eğer this ve lettable değeri hala pozitifse, bu, mevcut hak iş parçacığının bu yeniden yazma kilidi nesnesini
birden çok kez kaydettiğini ve bunlardan birden çok kez çıktığını gösterir.
Bir keresinde kilidi alıp götürmüştü.
Bu yüzden mutantların kilidini açıp geri döneceğiz.
İşimiz bitti.
Yazar Tran, bu geri çekilme kilidi nesnesinden bir kilit almıştır.
Çünkü kilitlerin açılma değeri hala pozitiftir.
Bu sadece mevcut eğilimin bu sağ kilit nesnesi üzerinde özyinelemeli kilitlere sahip olduğu anlamına gelir.
Tamam.
Şimdi daha ileri giderek, kilit açma değeri dijital hale geldiğinde yüz elli beş numaralı satıra
ulaşacağız.
Kilit açma değeri sıfır olursa, bu sadece mevcut tehdidin, mevcut doğru eğilimin, aslında bu
mantığı yürüttüğü anlamına gelir.
Tamam.
Kilidi tamamen serbest bıraktı, yani basitçe şu anlama gelir.
Gerçek bir tehdit var mı?
Bu günlüğü bekleyen herhangi bir yazar dizisi var.
İşaretler verilmeli.
Ben olsam ne yapardım, basitçe yayın yapardım.
Tamam.
Böylece bu rotada bir kilit vermek için bekleyen tüm kabileler, doğru kilit nesnesi sinyal olacaktır.
Şimdi size bir soru soruyorum çünkü bu yönlendirme kilidi nesnesine kilit vermek için bekleyen tüm tehditlere
sinyal gönderiyoruz.
Bu, bekleyen tüm kartların kritik bölüme gireceği anlamına mı geliyor?
Cevabım hayır.
Kırmızı ışık kilidi uygulamamız öyle ki, eğer
Bu güzergâhta bloke edilen, sağ kilit nesnesi olan ve kritik bölümün dışında bekleyen tüm kabilelerden
demiryolu rayları kritik bölüme girme şansı elde ederse, o zaman tüm o demiryolu rayları kritik bölüme
girecektir.
Ancak doğru iplik kritik bölüme girme şansı elde ederse, o zaman sadece ve sadece bir
iplik kritik bölüme girecektir.
Kalan demiryolu rayları ve kalan ray hakkı kapalı kalmaya devam edecektir.
Tamam.
Bu nedenle, kritik bölümlerin dışında bekleyen birden fazla radar tuzağının olabileceği senaryoları kapsayacak
şekilde yayın sinyali veriyoruz.
Kritik bölümde tehdit yürütmenin tek hakkı olan kilit açıldıktan sonra, trans halindeki emrin
kritik bölüme girmesine izin verilmelidir.
Bunun için de yayın sinyalini yayınlamamız gerekiyor.
Ve nihayet, çizgiye ulaştığımızda, onlar ve 160, kilit yazar akım tehdidi tarafından tamamen serbest
bırakıldı.
Kilidin durumunu güncelleyeyim.
Bu artık bir yazar tarafından mı kaydediliyor?
Hayır.
Sioux Falls.
Ve ben sadece mutantların kilidini açardım.
Böylece iki numaralı vaka tamamlanmış oldu.
Ardından üç numaralı duruma, yani bu API'yi çalıştıran mevcut iş parçacığına gelirsek, bu bizim arena tehdidimizdir.
Bu yüzden, bu günlüğün izlenen radar tarafından kaydedilip kaydedilmediğini kontrol edeyim.
Biraz ASR kontrolü yapmama izin verin.
Ve yine aynı şeyi yapacağız.
Analog değişkenin değerini azaltacağız ve daha sonra bu analog değişkenin değerinin olup olmadığını kontrol
edeceğiz.
Hala olumlu.
Bu şu anlama geliyor.
Var.
Kritik bölümde çalışan ve uydu kilit nesnesi üzerinde kilit sahibi olan birden
fazla tehdit aynı okuma iş parçacığı bu sağ kilit nesnesi üzerinde özyinelemeli kilitlemeye sahip olmalıdır.
Bu iki durum arasında herhangi biri de olabilir.
Tamam.
Şimdi kilit açma değeri hala pozitif olduğuna göre, hiçbir şey yapmayacağız, sadece geri döneceğiz.
Tamam.
Dolayısıyla mevcut tehdit bu uzak kilit nesnesinden bir kilidi almıştır.
Ancak analogların değeri sıfır olursa, bu kritik bölümden çıkan son bölgesel ticaret olduğu
anlamına gelir.
Ve böyle bir durumda, kritik bölüme girmek için bekleyen bazı tehditlerimiz varsa.
O zaman bunlar sinyal olmalı.
Bu yüzden bir kez daha yayın yapacağız.
Tamam.
Ve bu odanın durumunu, sağ kilit nesnesini şimdi kullanılabilir olduğunu yansıtacak şekilde güncellememe izin verin.
Ve işimiz bitti.
Yani bu üç numaralı vakayı kapsıyor.
Böylece, Kilit Açma API'sinin uygulamasını tamamladık ve umarım Read Lock Nesnesi üzerinde
işlem yapmakla ilgili tüm API'lerin uygulanmasındaki her bir adımı hemen hemen açıklamışımdır.
Bu yüzden bir sonraki dersimizde size bir demo uygulama göstereceğim ve bu uygulamada Red Oak
Object'in kendi uygulamasını kullanacağız.
Ve uygulamamızın doğru olduğunu doğrulayacağız.