Bu, Olay İşleyicileri nasıl çalışır?
Bu, perde arkasında - yaratıldıklarında ne olacağı anlamına gelir.
Kabaca bir fikrim var - ama doğrulamasını istiyorum.
Bu, Olay İşleyicileri nasıl çalışır?
Bu, perde arkasında - yaratıldıklarında ne olacağı anlamına gelir.
Kabaca bir fikrim var - ama doğrulamasını istiyorum.
Yanıtlar:
Düşük düzeyde bir olay işleyicileri genellikle bir aygıtı yoklayarak ve bir donanım kesintisi bekleyerek çalışır. Temel olarak, bir arka plan iş parçacığı, bir donanım kesintisinin gerçekleşmesini beklerken engeller. Bir kesinti meydana geldiğinde, yoklama işlevi engellemeyi durdurur. Uygulama daha sonra hangi aygıt tutamacının kesintiye neden olduğunu ve ne tür bir kesinti olduğunu bulabilir ve ardından buna göre hareket edebilir (örneğin bir olay işleyici işlevini çağırarak). Bu genellikle ayrı bir iş parçacığında yapılır, böylece eşzamansız olarak gerçekleşir.
Tabii ki, bunun gerçekte uygulanma şekli, işletim sistemine ve cihaz / giriş türüne bağlı olarak önemli ölçüde değişir. UNIX sistemlerinde, olay işleyicilerinin soket, seri veya USB bağlantı noktaları gibi şeyler için uygulanmasının bir yolu, seçme veya yoklama sistem çağrılarıdır. Bir veya daha fazla dosya / cihaz tanımlayıcısı (ağ soketi, seri / USB bağlantı noktası, vb. Gibi bir cihazla ilişkilendirilmiş) poll
sistem çağrısına aktarılır - bu da programcıya düşük seviyeli bir C API aracılığıyla sunulur. Bu cihazlardan birinde bir olay meydana geldiğinde (örneğin, bir seri bağlantı noktasına bazı veriler geldiğinde), anket sistemi çağrısı engellenmeyi durdurur ve uygulama daha sonra hangi cihaz tanımlayıcısının olaya neden olduğunu ve ne tür bir olay olduğunu belirleyebilir .
Windows'da bu farklı şekilde ele alınır, ancak kavramlar temel olarak aynıdır.