Evet arkadaşlar, bir önceki ders videosunda zengin ve hatta döngü iş
parçacığı kullanarak görevi görevden erken ayıracak ve bulacak bir API uyguladık.
Tamam.
Yani bu, döngü ipliği işlevinin bile bir parçasıydı.
Şimdi, bir uygulama iş parçacığının maskeli balo için olay
döngüsüne yeni bir görev göndereceği bir API uygulayacağız.
Ve böyle bir API'ye Task Create New Job adı verilir.
Ve bu API, uygulama tarafından olay döngüsüne yeni görevler göndermek için kullanılacaktır.
Yani bu API'nin argümanı çok basit.
Olay döngüsü nesnesine bir işaretçi ve uygulamaya bir işaretçi kabul eder.
Belirli bir işlev.
Ve bu uygulamaya özel fonksiyonun argümanı.
Tamam.
Ve bu API'yi uygulamak için bir zamanım var, yeni bir görev
nesnesi oluşturacağız ve bu görev nesnesini bu işlev işaretçisi ile başlatacağız.
Ve bu argümanla Murdock'ın olay döngüsünü kilitleyeceğiz.
Bu yeni görevi eklenen olay döngüsü görevine ekleyeceğiz.
Ve kuş gribinin boşta olması durumunda, olay
döngüsü tehdidinin koşul değişkeninde engellendiği anlamına gelir.
Böyle bir durumda, bakılan olaya bir sinyal göndermemiz gerekecek ve
olay döngüsü tehdidi zaten meşgulse, yani küçük bir tehdit
bile zaten bir görevi yürütme sürecindeyse, işimiz bitmiş demektir.
Olay döngüsü meşgul durumda olduğu için başka bir şey yapmamıza gerek yok.
Ve mevcut görevi bitirdikten sonra, olay döngüsü TED geri dönecek
ve bekleyen herhangi bir görev olup olmadığını tekrar kontrol edecektir.
Ve son olarak, olay döngüsü sessiz eylemlerinin kilidini açıyoruz ve işimiz bitiyor.
Dolayısıyla, tüm bu adımları dahili işlevimizde, çağrımızda,
olay gönderimimizde veya zamanlama görevimizde uygulayacağız.
Aslında, bu işlevi olay döngüsü zamanlama görevi olarak yeniden adlandıracağız.
Tamam.
Dosyaya boyun eğerek, kulüp bile görmüyor, yeni işler oluşturmak için bir API uygulayacaktık.
Ve ayrıca, herkese açık bir API olduğu için, bu
API'nin prototipini neden eklemeye bakacağız? Şimdi, bu API'nin uygulamasını
görelim, her şeyden önce bir görev nesnesi oluşturacaktık.
Ve şimdi bir görev oluşturduğumuza göre, bu görevi
olay döngüsünün önündeki göreve eklemek bizim sorumluluğumuzdur.
Bunun için bir API hatta kulüp zamanlama görevi kullanacağız.
Ve sonunda son noktada geri dönün.
Tamam.
Şimdi, bu API'deki algoritmanın bir parçası olarak, yapacağımız
ilk şey olay döngüsü yeni vergisini günlüğe kaydetmektir.
Yani burada olay döngüsünün görevine bir görev ekledik ve şimdi olay
döngüsünün durumunun ne olduğunu kontrol edeceğiz ve buna göre eylemi gerçekleştireceğiz.
Yani olay döngüsü zaten meşgulse, hiçbir şey yapmamıza gerek
yok, sadece sessiz eylemlerin ve Adam'ın kilidini açmamız yeterli.
Aksi takdirde, olay döngüsü, kuş döngüsü tehdidinin uyandırılması gerekenden daha atıl bir durumdur.
Bu yüzden olay döngüsüne bir sinyal göndermemiz gerekiyor
ve sonunda Murdoch'ların kilidini açtık ve işimiz bitti.
Tamam.
Böylece bu API'nin uygulanmasıyla işimiz bitti.
Çok basit.
Temel olarak, bir olay döngüsünün uygulamasını tamamladık ve şimdi
size bir uygulamanın eşzamansız mantıkları uygulamak için olay
döngüsünü nasıl kullanabileceğine ilişkin gösterimi gösterecek bir konumdayız.
Döngünün bile çok amaçlı bir ikili yapı olduğunu ve bu
olay döngüsü kavramını kullanarak çok sayıda problemi çözebileceğimizi unutmayın.
Söylemin geri kalan kısmında, bu olay döngüsü kütüphanesinin farklı
problem türlerini çözmek için nasıl kullanılabileceğine ilişkin zaman harcayacaktık.
Ama yine de, bir sonraki dersimizde, bu olay döngüsü kütüphanesinin uygulama tarafından
basit problemleri çözmek için nasıl kullanılabileceğine ilişkin kısa bir gösteri yapacağım.