Şimdi bir sonraki tasarım kalıbı olan preemption'ı tartışacağız.
Bu nedenle, devam eden olay döngüsü görevinin öncelenmesi ve bir olay
döngüsü iş parçacığı kullanılarak yeniden programlanmasına ilişkin bir örnekten bahsetmiştik.
Yükleme indirme örneğimizi hatırlayın.
Ve bu örnekte ön alma kavramını gayri resmi olarak uyguluyoruz.
Artık aynı işin çok uzun bir süre boyunca tüm CPU'yu almaması için ön alım gereklidir.
Uygulamanızda birden fazla olay döngüsü işi veya görevi olabilir, bu nedenle birden fazla olay döngüsü işinin veya
görevinin yeterli CPU elde etmek için adil bir şansa sahip olduğundan emin olmalıyız, böylece ilerleme gözlemlenir.
Aynı şey işletim sistemi zamanlayıcınız tarafından da kullanılır.
Sisteminizde çalışan işlemlerin CPU üzerinde adil bir çalışma
şansı elde edecek şekilde programlandığından emin olun ve
bunun için işletim sisteminiz bağlam değiştirme kavramını uygular.
Şimdi ilerleyerek iki programlama seviyesini gözlemleyeceğiz.
Şimdi birinci seviye, işletim sisteminizin, sdpc sürecimiz de
dahil olmak üzere makinenizde çalışan süreçleri programlayacağıdır.
Doğru.
Yani bu, makinenizde zaten gerçekleşmekte olan bir şeydir.
İkinci seviye programlama, uygulayacağımız şeydir.
Tamam.
STP uygulamamızda bir olay döngüsü iş parçacığımız var.
Şimdi, bir geliştiricinin olay döngüsü uygulamamızda oluşturduğu çeşitli
olay döngüsü görevleri veya işleri bizim sorumluluğumuzdadır.
Geliştirici, CPU için birden fazla olay döngüsü görevi veya işi tahsis edildiğinden emin olmalıdır.
Bu nedenle, olay döngüsü görevlerinin veya işlerinin altta yatan işletim sistemi tarafından görünmez olduğunu unutmayın.
İşletim sisteminiz olay döngüsü iş parçacığı diye bir şeyin varlığından bile haberdar değil, değil mi? Olay
döngüsü iş parçacığı, altta yatan işletim sisteminiz tarafından diğer kullanıcı alanı iş parçacıkları gibi görülebilir.
Diyelim ki bir işletim sisteminiz var ve bu
işletim sistemi P1, P2 ve P3 süreçlerini programlıyor.
Zamanlama şemasını kullanarak.
Tamam.
Ve diyelim ki P üç sürecimiz hiçbir şey değil, ancak olay döngüsü iş
parçacığı adı verilen özel bir iş parçacığına sahip olan favori STP sürecimiz.
Dolayısıyla, işletim sistemi CPU'yu P3 işlemine tahsis
ettiğinde, artık çeşitli görevler arasında geliştiricinin sorumluluğundadır.
Şimdi bunlar, geliştiricinin Http dot uygulamasında oluşturduğu eventloop görevleridir.
Bu görevlerin olay döngüsü iş parçacığı tarafından adil bir şekilde zamanlandığından emin olun.
Dolayısıyla P2 süreci bu olay döngüsü görevlerini bir olay döngüsü iş parçacığı üzerinde zamanlama sorumluluğuna sahiptir.
Tamam.
Yani bu ikinci seviye programlama.
Ve birinci seviye zamanlama zaten işletim sisteminiz tarafından gerçekleştirilmektedir.
Dolayısıyla burada programlama hiyerarşisine tanık olabilirsiniz.
Şimdi olay döngüsü uygulamamızı geliştirelim ve ön
alma işlemini daha resmi bir şekilde uygulayalım.
Bu nedenle bir sonraki ders videosunda, ön alma ve yeniden zamanlama kavramını resmi
bir şekilde uygulamak için yapmamız gereken kod değişikliklerini hızlı bir şekilde tartışacağız.