Evet arkadaşlar, şimdi ertelenmiş iptal kavramını tartışacağız.
Dolayısıyla, ertelenmiş iptal, programcının iş parçacığının yürütme akışında hangi noktalarda iş parçacığının iptal
edilmesine izin verileceğini kontrol etmesine olanak tanır.
Dolayısıyla, iş parçacığının yürütme akışının herhangi bir noktasında iptal edilebildiği iş parçacıklarının senkronize
olmayan iptalinin biraz tersi olduğunu görebilirsiniz.
Ve bu geliştiricilerde ya da programcılarda değildi.
İş parçacığının yürütme akışının hangi noktasında, iş parçacığının eşzamansız iptal
modunda iptal edileceğini ele alın.
Doğru.
İş parçacığının iptalinin ertelenmiş iptal modunda ise programcı, iş parçacığının yürütme
akışında hangi noktada veya hangi komutta iş parçacığının iptal edilmesine izin verileceğini kontrol etme konusunda tam
kontrole sahiptir.
Doğru.
Dolayısıyla, ertelenmiş iptalde iş parçacığı, yazmak istediği gibi yürütme akışının herhangi
bir yerinde iptal edemez.
Ertelenmiş iptal, değişmezler sorununu ele almak için kullanılır.
İş parçacıklarının eşzamansız iptali değişmezler sorununu çözemez, ancak iş parçacığının ertelenmiş
iptali bunu yapabilir.
Bu nedenle, iş parçacığının yürütme akışında iş parçacığının iptal etmesine izin verilen noktalara iptal
noktaları denir.
Doğru.
Dolayısıyla bu, iş parçacığının yürütme akışında iş parçacığının iptal edilebileceği talimatları veya noktaları
ele almak için kullandığımız özel bir terimdir.
İptal noktalarını bir diyagram yardımıyla anlamaya çalışalım, sağ tarafta bir T1 iş
parçacığımız olduğunu ve bu iş parçacığının yürütme akışında belirli noktalar olduğunu varsayalım.
Değil mi?
Belirli noktalar derken, o iş parçacığının yürütme akışında bulunan bazı talimatları kastediyorum.
İş parçacığının yürütme akışında P1 noktasında yürütüldüğünü ve ardından iş parçacığına iptal sinyali
gönderildiğini varsayalım.
Ayrıca, bu T1 iş parçacığının eşzamansız iş parçacığı iptal modu yerine ertelenmiş iş parçacığı iptal modunu
kullandığını varsayalım.
Doğru.
Bu da basitçe, T1 iş parçacığının iptal sinyali verildiğinde yürütme akışının herhangi bir
noktasında iptal etmeyeceği anlamına gelir.
P1, P2, P3, P4 ve P5 noktalarının olduğunu görebilirsiniz.
Dolayısıyla P4, aslında bir iptal noktası olan T1 iş parçacığının yürütme akışındaki özel bir noktadır.
İş parçacığının yürütme akışında belirli bir noktayı iptal noktası olarak atamak programcının veya geliştiricinin
sorumluluğundadır.
Doğru.
Bunu bir API iş parçacığı test iptali kullanarak yapabilirsiniz.
Doğru.
Dolayısıyla, bu API'yi P4 numaralı noktada çağırırsanız, P4 numaralı nokta iptal noktası olur.
Doğru.
Dolayısıyla t1 iş parçacığı P2 nokta numarasını yürüttüğünde hiçbir şey olmayacaktır.
t1 iş parçacığı nokta numarasını yürüttüğünde iş parçacığı iptal edilmeyecektir.
Tekrar P3, hiçbir şey olmayacak.
T1 iplik hakkı için bekleyen bir iptal sinyali olmasına rağmen.
Ancak t1 iş parçacığı, aslında bir iş parçacığı testi olan P4 noktasını çalıştırır çalıştırmaz, API'yi iptal eder, ardından
iş parçacığı iptal edilir.
Doğru.
Çünkü T1 iş parçacığı için halihazırda bekleyen bir iptal sinyali vardır.
Bu da basitçe, bir geliştirici ya da programcı olarak bunu kontrol etmek için bir kontrol sahibi olduğunuz anlamına gelir.
Hangi noktada başlığınızın iptal edilmesini istersiniz.
İş parçacığına bir iptal sinyali gönderildiğinde, iş parçacığınızın yürütme akışının herhangi bir rastgele
noktasında iptal edilmesini istemezsiniz, bunun yerine iş parçacığınızın yürütme akışının yalnızca
belirli bir noktasında iptal edilmesine izin vermek istersiniz ve bu nokta programcı tarafından seçilebilir.
Bu nedenle iptal sinyali çekirdek tarafından iptal edilen iş parçacığına iletilebilir, ancak yalnızca çalışan
iş parçacığının iptal noktasında işlenebilir.
İptal noktasını akıllıca seçmek programcının sorumluluğundadır, öyle ki iş parçacığı iptal
noktasında iptal edildiğinde varyans, kaynak sızıntısı veya kilitlenme sorunları ortaya çıkmamalıdır.
Değil mi?
Dolayısıyla, iptal noktasını akıllıca seçmek sizin sorumluluğunuzdadır.
Yanlış iptal noktasını seçerseniz, sorunlar ortaya çıkacaktır.
Değil mi?
Şimdi ertelenmiş iptalin uygulanmasını ve iptal noktalarıyla nasıl çalışılacağını
tartışalım.
Ve dosyada ertelenmiş iptal ve iptal noktası mantığını uygulayacağız Master
slave one Ertelenmiş iptal noktası C Right.
Bu yüzden yeni kod değişikliklerini bir sonraki ders videosunda tartışalım.