WEBVTT

1
00:04.890 --> 00:08.220
Şimdi yedi numaralı seçeneği
uygulayacağız.

2
00:08.220 --> 00:13.110
Yedi numaralı seçenek tüm yönlendirme
tablosunun silinmesiyle ilgilidir.

3
00:14.220 --> 00:20.460
Bunun için bu yeni API'yi TPL yönlendirme
tablosu silme olarak tanıtacağız.

4
00:21.060 --> 00:21.690
Tamam.

5
00:21.990 --> 00:29.220
Eşzamansız bir ortamda tüm konteyner veri
yapısını

6
00:29.220 --> 00:32.010
silmek için izlemeniz gereken yönergeler
bunlardır.

7
00:32.430 --> 00:36.720
Açıkçası, tüm yönlendirme tablosunu silmek
için bir görev başlatmanız gerekir.

8
00:36.720 --> 00:39.120
Ve görev önceliği düşük olmalıdır.

9
00:39.150 --> 00:47.400
Şimdi bunu biliyoruz ve bu kılavuz ilkeler
özel bir tartışma gerektiren noktayı zaten
tartışmıştım.

10
00:47.400 --> 00:48.960
İşte ikinci nokta.

11
00:49.500 --> 00:53.040
Yönlendirme tablosunu konteyner veri
yapısından silin.

12
00:54.390 --> 00:58.320
Şimdi bunun bir uygulama olduğunu
varsayalım.

13
00:58.530 --> 01:05.880
Ve bu, bu uygulama tarafından tutulan veri
yapısını temsil eder.

14
01:05.880 --> 01:12.360
Bu veri yapılarından biri yönlendirme
tablosuna bir işaretçidir.

15
01:13.470 --> 01:15.360
Pekâlâ, bu bir işaretçi.

16
01:15.360 --> 01:22.590
Ve bu işaretçi yönlendirme tablosunun
başını gösterir yönlendirme

17
01:22.590 --> 01:23.190
tablosu bağlı bir listeden başka bir şey
değildir.

18
01:24.390 --> 01:28.470
Şimdi bu yönlendirme tablosundaki tüm
düğümleri silmemiz gerekiyor.

19
01:29.010 --> 01:35.760
Öncelikle bu yönlendirme tablosunun başını
uygulamanın geri kalanından izole etmek

20
01:35.760 --> 01:38.640
her zaman en iyi uygulamadır, böylece bu
işaretçiyi kırmış olursunuz.

21
01:39.440 --> 01:47.480
Bu, global değişken yönlendirme tablosu
işaretçinizin artık null'a işaret ettiği
ve artık uygulama

22
01:47.480 --> 01:54.470
veri yapısının geri kalanından izole
edilmiş düğüm koleksiyonuna sahip
olduğunuz anlamına gelir.

23
01:55.250 --> 01:55.700
Tamam.

24
01:55.700 --> 01:57.590
Bu bağlantı kopmuş.

25
01:58.430 --> 02:09.710
Şimdi bu bağlantı listesinde silme
görevini başlattığınızda ve açıkçası bu
silme

26
02:10.190 --> 02:15.230
görevi, diyelim ki bu yönlendirme
tablosundan on girdiyi sildikten sonra
öncelenecektir.

27
02:15.860 --> 02:28.580
Uygulamada zamanlanmış bir görev olsa ve
bu görev yönlendirme tablosu

28
02:28.580 --> 02:38.030
üzerinde potansiyel olarak oluşturma,
güncelleme veya okuma işlemi
gerçekleştirebilse bile,

29
02:38.060 --> 02:38.720
bu yönlendirme tablosu üzerinde mutlu bir
şekilde işlem yapabilir.

30
02:40.280 --> 02:40.940
Tamam.

31
02:41.600 --> 02:49.250
T görevi bu işaretçiyi tamamen yeni
yönlendirme tablosuna bir işaretçi olarak
görecektir.

32
02:49.790 --> 02:56.090
Dolayısıyla, bu görev yönlendirme
tablosunda yeni bir giriş oluşturma
girişiminde bulunursa, oluşturacaktır.

33
02:58.250 --> 03:05.180
Herhangi bir sorun olmadan, bu silme
görevi girdiyi sistemden silmeye devam
eder.

34
03:05.810 --> 03:10.580
Bu izole bağlı liste veya izole
yönlendirme tablosu.

35
03:11.480 --> 03:21.050
Görev T yeni olarak adlandırırsam ve görev
t olarak adlandırırsam, d görevi sil veya
yeni görev anlamına gelir.

36
03:21.080 --> 03:25.820
Görevin iki işlemi birbiriyle etkileşime
girmez.

37
03:27.260 --> 03:27.740
Tamam.

38
03:27.740 --> 03:35.030
Eğer t yeni görevi yönlendirme tablosunda
yeni düğümler oluşturmaya çalışırsa, mutlu
bir şekilde oluşturabilir.

39
03:36.300 --> 03:38.010
Aynı zamanda.

40
03:38.510 --> 03:45.320
Görev ağacı devam edecek ve eski
yönlendirme tablosundaki girdileri silmeye
devam edecektir.

41
03:45.620 --> 03:49.190
Böylece iki görev arasında herhangi bir
etkileşim olmaz.

42
03:50.090 --> 03:56.870
Ve tüm bunlar, görev başlatılmadan önce bu
bağlantı koptuğu için mümkündür.

43
03:56.900 --> 03:57.350
TD.

44
03:58.210 --> 04:05.080
Bu nedenle, sorumluluğu oluşturmak olan
bir görevi başlatmanız

45
04:05.080 --> 04:06.100
gerektiğinde, tüm konteyner veri yapısını
silmeniz gerekir.

46
04:06.640 --> 04:12.490
Ardından bu veri yapısını her zaman
uygulama durumunun geri kalanından izole
edin

47
04:12.490 --> 04:16.630
ve ardından silme görevini bu izole
edilmiş veri nesneleri üzerinden başlatın.

48
04:16.930 --> 04:26.170
Böylece bu nesnelerin silinmesi, bu
nesneler üzerinde işlem yapmaya,
oluşturmaya,

49
04:26.170 --> 04:28.780
güncellemeye veya okumaya çalışan başka
herhangi bir görevle etkileşime girmez.


