Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bekleme zinciri geçişi (WCT), hata ayıklayıcıların uygulama kilitlenmelerini ve çıkmazlarını tanılamasına olanak tanır.
Bekleme zinciri, her iş parçacığının ardından gelen nesneyi beklediği, iş parçacıkları ve eşitleme nesnelerinden oluşan bir dönüşümlü dizidir. Sırayla gelen her nesne, zincirdeki sonraki iş parçacığına aittir.
Bir iş parçacığı, nesneyi isteme zamanından alınana kadar bir eşitleme nesnesini bekler. Bu kilit , iş parçacığının onu aldığı zamandan, iş parçacığı onu serbest bırakana kadar bir iş parçacığına aittir. Başka bir deyişle, iş parçacığı 1, iş parçacığı 2'ye ait bir kilidi beklediğinde, iş parçacığı 1 iş parçacığı 2'yi bekler.
WCT aşağıdaki eşitleme temel öğelerini destekler:
- Gelişmiş yerel yordam çağrısı (ALPC)
- Microsoft Bileşen Nesne Modeli (COM)
- Kritik bölüm nesneleri
- Mutex nesneleri
- SendMessage işlevi
- İşlemlerde ve iş parçacıklarındabekleme işlemleri
Bir veya daha fazla iş parçacığının bekleme zincirini almak için OpenThreadWaitChainSession ve GetThreadWaitChain işlevlerini kullanarak bir WCT oturumu oluşturun. WCT oturumları HWCT türünde bir tanıtıcıyla temsil edilir.
Oturumlar eşzamanlı veya eşzamansız olabilir
Bir bekleme zinciri alınana kadar zaman uyumlu oturumları iptal edip çağıran iş parçacığını engelleyemezsiniz.
Zaman uyumsuz oturumlar çağıran iş parçacığını engellemez ve CloseThreadWaitChainSession işleviyle uygulama tarafından iptal edilebilir. Zaman uyumsuz işlemlerin sonuçları, uygulama tarafından sağlanan bir WaitChainCallback geri çağırma işlevi aracılığıyla kullanılabilir hale getirilir.
Zaman uyumsuz oturumlar için çağıran, GetThreadWaitChain aracılığıyla bağlam veri yapısına yönelik bir işaretçi belirtebilir. Aynı işaretçi WaitChainCallback geri çağırma işlevine geçirilir.
Bağlam veri yapısı kullanıcı tanımlıdır ve WCT'ye göre opaktır. Bağlam veri yapısı, uygulama tarafından bir WCT sorgusu ile geri çağırma işlevi arasındaki bağlamı iletmek için kullanılabilir. Genellikle, bu yapı üzerinden bir olay tanıtıcısı geçirirsiniz ve geri çağırma yürütülürken, olay sinyallenir ve sorgunun tamamlandığı bir izleme iş parçacığına bildirilir.
Bekleme zinciri geçişi örneği için bkz. WCT kullanma.