WEBVTT

00:09.130 --> 00:12.430
Evet, çocuklar, şimdi son API'mizi tartışalım.

00:12.460 --> 00:15.340
Bu, Kilit Açma API'sinin uygulanmasıdır.

00:16.000 --> 00:16.390
Tamam.

00:16.750 --> 00:20.980
Ve bu API'de de bu üç vakayı ele alacağız.

00:21.460 --> 00:22.300
Durum bu.

00:22.300 --> 00:29.770
Birincisi, mevcut iş parçacığı zaten kilidi açılmış olan veya zaten mevcut olan yönlendirme kilidini

00:29.980 --> 00:31.420
açmaya çalışırsa.

00:32.170 --> 00:32.600
Tamam.

00:32.620 --> 00:37.420
Dolayısıyla, tartıştığımız özelliklerin bir parçası olarak, programımız çökmelidir.

00:38.290 --> 00:44.530
İkinci durumda, yazarın doğru aşk nesnesinin kilidini açmak için iki kez denediği bir mantık

00:44.570 --> 00:45.730
uygulayacağız.

00:46.420 --> 00:51.730
Ve üç numaralı durumda, okuyucunun yeniden yazma kilidi nesnesinin kilidini açmayı iki kez denediği

00:51.730 --> 00:53.110
durumu uygulayacaktık.

00:53.680 --> 00:54.070
Tamam.

00:54.550 --> 00:56.290
Bir numaralı vakayla başlayalım.

00:59.930 --> 01:04.850
Daha fazla ilerlemeden önce, durum muteks kilidi ve kilit açma arasında bu API'nin tüm

01:04.850 --> 01:08.150
uygulamasıyla zaten imzaladığımı görebilirsiniz.

01:08.930 --> 01:09.320
Tamam.

01:11.660 --> 01:18.440
Bir numaralı duruma gelince, eğer mevcut eğilim, ki bu yeni olacak, bu kilit açma API'si zaten mevcut

01:18.440 --> 01:22.460
olan aşk nesnesini yazmanın kilidini açmaya çalışır.

01:23.180 --> 01:25.220
Peki burada yapmam gereken koşul nedir?

01:25.220 --> 01:28.910
Basitçe söylemek gerekirse, yazardım.

01:32.320 --> 01:33.520
Ve ben bittim.

01:35.800 --> 01:36.220
Tamam.

01:36.580 --> 01:43.240
Analogların değeri sıfırsa, yeniden tasarlanan kilit nesnesinin mevcut olduğu, yani sokak lambası kilit nesnesi

01:43.240 --> 01:46.930
üzerinde bir kilit tutan zor olmadığı anlamına gelir.

01:47.470 --> 01:54.190
Ve eğer bu son teknoloji ise, doğru kilit nesnesi ve uygulamada adım atmamak, API'yi yürümek ve kilitlemek

01:54.190 --> 01:55.990
için bir işe sahiptir.

01:56.680 --> 01:59.710
Bunu yaparsa, programımız çökmelidir.

02:00.250 --> 02:03.910
Bu sadece geliştiricinin kilit açma API'sini kötüye kullandığı anlamına gelir.

02:04.870 --> 02:05.260
Tamam.

02:06.250 --> 02:09.970
Şimdi iki numaralı vakaya geliyoruz, bir numaralı vaka ile işimiz bitti.

02:10.630 --> 02:18.070
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

02:18.070 --> 02:21.280
nesnesinin kilidini açmaya çalışıyorsa?

02:22.480 --> 02:22.870
Tamam.

02:23.200 --> 02:28.930
Bu yüzden öncelikle, bu sağ kilit nesnesinin gerçekten de haklı tehdit tarafından tutulduğu koşulunu kontrol etmemiz

02:28.930 --> 02:29.410
gerekir.

02:31.920 --> 02:32.090
Pekala.

02:34.470 --> 02:43.170
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

02:43.290 --> 02:48.210
Uygulanan Kilit Nesnesinin sahibi olması durumunda açabileceğini unutmayın.

02:49.620 --> 02:56.100
Yani bu basitçe şu anki tehdidin I. D. eşit olmalıdır.

03:03.630 --> 03:10.740
Doğru kilit nesnesi üzerindeki bir kilidi işleyen Trent IED yazarı, aynı değilse, bu sadece sistemdeki

03:10.740 --> 03:19.470
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

03:19.470 --> 03:22.350
sahip olmadığım anlamına gelir.

03:22.920 --> 03:26.370
Bu durumda, kazamızı ileri sürebiliriz.

03:28.110 --> 03:31.320
Şimdi yüz kırk beş numaralı satıra geçiyoruz.

03:31.950 --> 03:39.600
Bölgesel itiraz durumumuzun tutarlı olduğundan emin olmak için bazı iddialarda bulunmama izin verin.

03:40.260 --> 03:45.960
Dolayısıyla 145. Satırda, bu will dreadlock nesnesinin bir tehdit hakkı tarafından günlüğe kaydedildiği garanti edilir.

03:46.890 --> 03:47.970
Yani bunun anlamı.

03:50.530 --> 03:52.930
Okuyucu tarafından kaydedilenler yanlış olmalı.

03:55.490 --> 04:00.380
Şimdi bu doğru kilit nesnesi üzerindeki kilidi serbest bırakmak için bir mantık uygulamam gerekiyor.

04:00.950 --> 04:08.360
Yani kilidi serbest bırakmak, sadece kilit açılabilirliğin değerini düşüreceğim anlamına geliyor.

04:09.290 --> 04:16.010
Analog ratable değerinin azalması, kilidin bu retreat lock nesnesinden geri alındığı anlamına

04:16.010 --> 04:16.520
gelir.

04:18.200 --> 04:18.560
Tamam.

04:19.370 --> 04:22.400
Ve eğer.

04:24.700 --> 04:32.050
Eğer this ve lettable değeri hala pozitifse, bu, mevcut hak iş parçacığının bu yeniden yazma kilidi nesnesini

04:32.050 --> 04:38.020
birden çok kez kaydettiğini ve bunlardan birden çok kez çıktığını gösterir.

04:38.380 --> 04:40.900
Bir keresinde kilidi alıp götürmüştü.

04:42.220 --> 04:45.370
Bu yüzden mutantların kilidini açıp geri döneceğiz.

04:45.760 --> 04:46.390
İşimiz bitti.

04:47.020 --> 04:50.980
Yazar Tran, bu geri çekilme kilidi nesnesinden bir kilit almıştır.

04:52.550 --> 04:55.170
Çünkü kilitlerin açılma değeri hala pozitiftir.

04:55.220 --> 05:00.860
Bu sadece mevcut eğilimin bu sağ kilit nesnesi üzerinde özyinelemeli kilitlere sahip olduğu anlamına gelir.

05:01.820 --> 05:02.180
Tamam.

05:03.440 --> 05:08.480
Şimdi daha ileri giderek, kilit açma değeri dijital hale geldiğinde yüz elli beş numaralı satıra

05:08.480 --> 05:09.200
ulaşacağız.

05:10.250 --> 05:16.610
Kilit açma değeri sıfır olursa, bu sadece mevcut tehdidin, mevcut doğru eğilimin, aslında bu

05:16.610 --> 05:19.100
mantığı yürüttüğü anlamına gelir.

05:20.190 --> 05:20.610
Tamam.

05:22.300 --> 05:28.270
Kilidi tamamen serbest bıraktı, yani basitçe şu anlama gelir.

05:30.920 --> 05:34.070
Gerçek bir tehdit var mı?

05:37.950 --> 05:43.950
Bu günlüğü bekleyen herhangi bir yazar dizisi var.

05:46.770 --> 05:49.680
İşaretler verilmeli.

05:51.300 --> 05:54.630
Ben olsam ne yapardım, basitçe yayın yapardım.

06:01.610 --> 06:02.030
Tamam.

06:02.570 --> 06:10.160
Böylece bu rotada bir kilit vermek için bekleyen tüm kabileler, doğru kilit nesnesi sinyal olacaktır.

06:10.850 --> 06:16.970
Şimdi size bir soru soruyorum çünkü bu yönlendirme kilidi nesnesine kilit vermek için bekleyen tüm tehditlere

06:16.970 --> 06:18.590
sinyal gönderiyoruz.

06:19.130 --> 06:22.790
Bu, bekleyen tüm kartların kritik bölüme gireceği anlamına mı geliyor?

06:23.540 --> 06:24.470
Cevabım hayır.

06:25.760 --> 06:30.080
Kırmızı ışık kilidi uygulamamız öyle ki, eğer

06:31.350 --> 06:37.590
Bu güzergâhta bloke edilen, sağ kilit nesnesi olan ve kritik bölümün dışında bekleyen tüm kabilelerden

06:37.590 --> 06:43.970
demiryolu rayları kritik bölüme girme şansı elde ederse, o zaman tüm o demiryolu rayları kritik bölüme

06:43.980 --> 06:45.960
girecektir.

06:46.710 --> 06:53.130
Ancak doğru iplik kritik bölüme girme şansı elde ederse, o zaman sadece ve sadece bir

06:53.130 --> 06:55.860
iplik kritik bölüme girecektir.

06:56.400 --> 07:01.320
Kalan demiryolu rayları ve kalan ray hakkı kapalı kalmaya devam edecektir.

07:02.500 --> 07:02.890
Tamam.

07:03.520 --> 07:10.180
Bu nedenle, kritik bölümlerin dışında bekleyen birden fazla radar tuzağının olabileceği senaryoları kapsayacak

07:10.180 --> 07:12.190
şekilde yayın sinyali veriyoruz.

07:12.760 --> 07:19.450
Kritik bölümde tehdit yürütmenin tek hakkı olan kilit açıldıktan sonra, trans halindeki emrin

07:19.450 --> 07:23.140
kritik bölüme girmesine izin verilmelidir.

07:23.140 --> 07:26.620
Bunun için de yayın sinyalini yayınlamamız gerekiyor.

07:31.470 --> 07:38.100
Ve nihayet, çizgiye ulaştığımızda, onlar ve 160, kilit yazar akım tehdidi tarafından tamamen serbest

07:38.100 --> 07:39.360
bırakıldı.

07:40.410 --> 07:42.720
Kilidin durumunu güncelleyeyim.

07:44.340 --> 07:46.710
Bu artık bir yazar tarafından mı kaydediliyor?

07:46.800 --> 07:47.270
Hayır.

07:47.280 --> 07:48.570
Sioux Falls.

07:54.720 --> 07:59.700
Ve ben sadece mutantların kilidini açardım.

08:01.110 --> 08:03.570
Böylece iki numaralı vaka tamamlanmış oldu.

08:06.980 --> 08:16.130
Ardından üç numaralı duruma, yani bu API'yi çalıştıran mevcut iş parçacığına gelirsek, bu bizim arena tehdidimizdir.

08:21.090 --> 08:30.510
Bu yüzden, bu günlüğün izlenen radar tarafından kaydedilip kaydedilmediğini kontrol edeyim.

08:34.440 --> 08:37.050
Biraz ASR kontrolü yapmama izin verin.

08:48.200 --> 08:50.300
Ve yine aynı şeyi yapacağız.

08:50.540 --> 08:57.950
Analog değişkenin değerini azaltacağız ve daha sonra bu analog değişkenin değerinin olup olmadığını kontrol

08:57.950 --> 08:59.210
edeceğiz.

09:02.270 --> 09:03.410
Hala olumlu.

09:05.860 --> 09:06.910
Bu şu anlama geliyor.

09:08.010 --> 09:09.000
Var.

09:10.190 --> 09:16.130
Kritik bölümde çalışan ve uydu kilit nesnesi üzerinde kilit sahibi olan birden

09:16.850 --> 09:25.250
fazla tehdit aynı okuma iş parçacığı bu sağ kilit nesnesi üzerinde özyinelemeli kilitlemeye sahip olmalıdır.

09:26.510 --> 09:29.570
Bu iki durum arasında herhangi biri de olabilir.

09:30.620 --> 09:31.010
Tamam.

09:31.610 --> 09:39.920
Şimdi kilit açma değeri hala pozitif olduğuna göre, hiçbir şey yapmayacağız, sadece geri döneceğiz.

09:41.330 --> 09:41.720
Tamam.

09:42.050 --> 09:47.060
Dolayısıyla mevcut tehdit bu uzak kilit nesnesinden bir kilidi almıştır.

09:51.240 --> 09:58.980
Ancak analogların değeri sıfır olursa, bu kritik bölümden çıkan son bölgesel ticaret olduğu

09:58.980 --> 10:00.630
anlamına gelir.

10:01.770 --> 10:08.130
Ve böyle bir durumda, kritik bölüme girmek için bekleyen bazı tehditlerimiz varsa.

10:13.450 --> 10:15.010
O zaman bunlar sinyal olmalı.

10:25.780 --> 10:28.300
Bu yüzden bir kez daha yayın yapacağız.

10:33.200 --> 10:33.620
Tamam.

10:34.850 --> 10:40.550
Ve bu odanın durumunu, sağ kilit nesnesini şimdi kullanılabilir olduğunu yansıtacak şekilde güncellememe izin verin.

10:48.010 --> 10:49.450
Ve işimiz bitti.

10:53.320 --> 10:55.590
Yani bu üç numaralı vakayı kapsıyor.

11:02.850 --> 11:09.690
Böylece, Kilit Açma API'sinin uygulamasını tamamladık ve umarım Read Lock Nesnesi üzerinde

11:10.290 --> 11:18.720
işlem yapmakla ilgili tüm API'lerin uygulanmasındaki her bir adımı hemen hemen açıklamışımdır.

11:23.010 --> 11:28.710
Bu yüzden bir sonraki dersimizde size bir demo uygulama göstereceğim ve bu uygulamada Red Oak

11:28.710 --> 11:31.680
Object'in kendi uygulamasını kullanacağız.

11:32.130 --> 11:35.250
Ve uygulamamızın doğru olduğunu doğrulayacağız.
