Dil

JoinableTaskFactory.DisableProcessing Yöntem

Tanım

Ortam JoinableTaskiçin zaman uyumlu beklemeler sırasında filtrelenmiş ileti pompalarının çalışmasını engeller.

public Microsoft.VisualStudio.Threading.JoinableTaskFactory.ProcessingDisabledOperation DisableProcessing();
member this.DisableProcessing : unit -> Microsoft.VisualStudio.Threading.JoinableTaskFactory.ProcessingDisabledOperation
Public Function DisableProcessing () As JoinableTaskFactory.ProcessingDisabledOperation

Döndürülenler

Zaman uyumlu bekleme iletisi pompalarını gizleme gereksinimi sona erdiğinde atılabilir bir değer. Alternatif olarak, geri kalanının JoinableTask işlemenin devre dışı bırakılması amaçlanıyorsa atılabilir.

Özel durumlar

bir bağlamının JoinableTaskdışında çağrıldığında oluşturulur.

Örnekler

Bu yöntemin basit ve yaygın kullanımı aşağıdadır:

Bunun nasıl kullanılabileceğini gösteren daha fazla örnek aşağıda verilmiştir:

Açıklamalar

içinde bir verim awaitJoinableTasksırasında, yalnızca ilgili çalışmayı sağlayan dahili yöntem dışında, bu yöntemin çağrılıp çağrılmadığına bakılmaksızın hiçbir ileti pompası çalışmaz. Kullanıcı kodu temsilci içinde veya ana iş parçacığının JoinableTask zaman uyumlu bir bloğuna ihtiyaç duyan çağrıları içinde çalıştığında (örneğin, zaman uyumlu G/Ç veya kilit çekişmesi), bu bekleme genellikle üzerinde Currentçağrılarak Wait(IntPtr[], Boolean, Int32) uygulanır. Bu yöntemin varsayılan uygulaması belirli kesintilere (rpc çağrıları e.g. COM) izin verir ve bu da bazı durumlarda kilitlenmeleri önleyemeyebilir .

Bu yöntemin çağrılması, varsayılan uygulamasını Wait(IntPtr[], Boolean, Int32) etkin ve denetiminde Currentolan bu tür kesintilere JoinableTask izin vermeyecek bir uygulamayla değiştirir. Bu yöntem birden çok kez çağrılana kadar bu etki, tüm DisableProcessing() çağrıların dönüş değerleri atılana kadar (herhangi bir sırada) hedefte JoinableTask kalır. Etki yalnızca doğrudan JoinableTaskiçin geçerlidir. Hiçbir çocuğunu veya ebeveynini etkilemez.

İşlemi devre dışı bırakmanın Windows olmayan işletim sistemleri üzerinde hiçbir etkisi yoktur.

Sonuçta elde edilen değerin atılması varsayılan davranışa geri döner. Amaç, yürütmenin geri kalanında işlemeyi devre dışı bırakmaksa çağıranların JoinableTaskbu değeri atması gerekmez.

Şunlara uygulanır