Evet çocuklar, şimdi erken genişleme sorununun çözümünü tartışacaktık.
Ve sizi şaşırtacak şekilde, çözüm çok basit ve anlaşılır.
Ve çözüm, görev önceliklendirmesi kullanılarak otomatik olarak uygulanır.
Bu nedenle, D veri nesnesinin silinmesi veya yok edilmesi, üzerinde
çalışması planlanan tüm görevler de ilgili işlemlerini tamamlayana kadar ertelenir.
Bu şemayı olay döngüsü ile çalışan
uygulamanızda uygulayabilirseniz, erken silme sorunu çözülecektir.
Bir olay döngüsü kuyruğunda bulunan T1, T2 ve t3 olmak üzere üç görev olduğunu varsayalım.
Ve tüm bu görevler bir d veri nesnesi üzerinde kendi işlemlerini gerçekleştirmek zorundadır.
Yani D, uygulama yığın belleğindeki bir veri yapısıdır ve bu
üç görev tarafından işletilmesi gereken D nesnesinin aynı örneğidir.
Bu üç görev arasında, sorumluluğu sadece serbest olan D
nesnesini yok etmek olan T3 görevinin olduğunu söyleyelim.
D nesnesinin hafızası.
Tamam.
Bu nedenle, olay döngüsü iş parçacığı T3 görevini yalnızca ve yalnızca T1
ve T2 görevleri bir D nesnesi üzerindeki ilgili işlemlerini tamamladığında zamanlamalıdır.
Pekala, bu şemayı uygulamanızda uygulayabilirseniz, erken
silme sorununu otomatik olarak halletmiş olursunuz.
Böylece sistemdeki başka hiçbir görevin sarkan bir işaretçi aracılığıyla D'yi görmemesi sağlanmış olur.
Bu nedenle basit çözüm, nesneyi doğrudan değil, her zaman ayrı bir görev aracılığıyla silmek olacaktır.
Bu nedenle nesneyi silmek için her zaman ayrı bir görev başlatın.
Silme görevi en düşük öncelikli PD ve silme görevi olmayan herhangi bir görev olmalıdır.
Bu, sorumluluğu bir nesne üzerinde herhangi bir işlem gerçekleştirmek olan ancak silme işlemini gerçekleştirmeyen görevdir.
Operasyon her zaman PD'nin önceliğinden daha büyük bir önceliğe sahip olmalıdır.
Tamam.
Yani bu, en düşük öncelikte yalnızca silme görevlerinin yürütülmesine izin verildiği anlamına gelir.
Bu, olay döngüsü uygulamamız tarafından desteklenmektedir.
Şimdi bir sonraki ders videosunda bu şemayı uygulayacağız.
SDP sürecimizde.
Yönlendirme tablosu girdilerinin silme görevi kullanılarak nasıl silinebileceğini hep birlikte göreceğiz.