Şimdi yedi numaralı seçeneği uygulayacağız.
Yedi numaralı seçenek tüm yönlendirme tablosunun silinmesiyle ilgilidir.
Bunun için bu yeni API'yi TPL yönlendirme tablosu silme olarak tanıtacağız.
Tamam.
Eşzamansız bir ortamda tüm konteyner veri yapısını
silmek için izlemeniz gereken yönergeler bunlardır.
Açıkçası, tüm yönlendirme tablosunu silmek için bir görev başlatmanız gerekir.
Ve görev önceliği düşük olmalıdır.
Şimdi bunu biliyoruz ve bu kılavuz ilkeler özel bir tartışma gerektiren noktayı zaten tartışmıştım.
İşte ikinci nokta.
Yönlendirme tablosunu konteyner veri yapısından silin.
Şimdi bunun bir uygulama olduğunu varsayalım.
Ve bu, bu uygulama tarafından tutulan veri yapısını temsil eder.
Bu veri yapılarından biri yönlendirme tablosuna bir işaretçidir.
Pekâlâ, bu bir işaretçi.
Ve bu işaretçi yönlendirme tablosunun başını gösterir yönlendirme
tablosu bağlı bir listeden başka bir şey değildir.
Şimdi bu yönlendirme tablosundaki tüm düğümleri silmemiz gerekiyor.
Öncelikle bu yönlendirme tablosunun başını uygulamanın geri kalanından izole etmek
her zaman en iyi uygulamadır, böylece bu işaretçiyi kırmış olursunuz.
Bu, global değişken yönlendirme tablosu işaretçinizin artık null'a işaret ettiği ve artık uygulama
veri yapısının geri kalanından izole edilmiş düğüm koleksiyonuna sahip olduğunuz anlamına gelir.
Tamam.
Bu bağlantı kopmuş.
Şimdi bu bağlantı listesinde silme görevini başlattığınızda ve açıkçası bu silme
görevi, diyelim ki bu yönlendirme tablosundan on girdiyi sildikten sonra öncelenecektir.
Uygulamada zamanlanmış bir görev olsa ve bu görev yönlendirme tablosu
üzerinde potansiyel olarak oluşturma, güncelleme veya okuma işlemi gerçekleştirebilse bile,
bu yönlendirme tablosu üzerinde mutlu bir şekilde işlem yapabilir.
Tamam.
T görevi bu işaretçiyi tamamen yeni yönlendirme tablosuna bir işaretçi olarak görecektir.
Dolayısıyla, bu görev yönlendirme tablosunda yeni bir giriş oluşturma girişiminde bulunursa, oluşturacaktır.
Herhangi bir sorun olmadan, bu silme görevi girdiyi sistemden silmeye devam eder.
Bu izole bağlı liste veya izole yönlendirme tablosu.
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.
Görevin iki işlemi birbiriyle etkileşime girmez.
Tamam.
Eğer t yeni görevi yönlendirme tablosunda yeni düğümler oluşturmaya çalışırsa, mutlu bir şekilde oluşturabilir.
Aynı zamanda.
Görev ağacı devam edecek ve eski yönlendirme tablosundaki girdileri silmeye devam edecektir.
Böylece iki görev arasında herhangi bir etkileşim olmaz.
Ve tüm bunlar, görev başlatılmadan önce bu bağlantı koptuğu için mümkündür.
TD.
Bu nedenle, sorumluluğu oluşturmak olan bir görevi başlatmanız
gerektiğinde, tüm konteyner veri yapısını silmeniz gerekir.
Ardından bu veri yapısını her zaman uygulama durumunun geri kalanından izole edin
ve ardından silme görevini bu izole edilmiş veri nesneleri üzerinden başlatın.
Böylece bu nesnelerin silinmesi, bu nesneler üzerinde işlem yapmaya, oluşturmaya,
güncellemeye veya okumaya çalışan başka herhangi bir görevle etkileşime girmez.