GC.WaitForFullGCComplete Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Ortak dil çalışma zamanı tarafından çöp toplamayı engelleyen tam bir bildirimin tamamlanıp tamamlanmadığını belirlemek için kayıtlı bildirimin durumunu döndürür.
Aşırı Yüklemeler
WaitForFullGCComplete() |
Ortak dil çalışma zamanı tarafından çöp toplamayı engelleyen tam bir bildirimin tamamlanıp tamamlanmadığını belirlemek için kayıtlı bildirimin durumunu döndürür. |
WaitForFullGCComplete(Int32) |
Belirtilen zaman aşımı süresinde, çalışma zamanının tamamladığı ortak dile göre çöp toplamayı engelleyen tam bir bildirim olup olmadığını belirlemek için kayıtlı bildirimin durumunu döndürür. |
WaitForFullGCComplete(TimeSpan) |
Engelleyici çöp toplama işleminin tamamlanıp tamamlanmadığına ilişkin kayıtlı bildirimin durumunu döndürür. Tam koleksiyon için süresiz olarak bekleyebilir. |
WaitForFullGCComplete()
- Kaynak:
- GC.CoreCLR.cs
- Kaynak:
- GC.CoreCLR.cs
- Kaynak:
- GC.CoreCLR.cs
Ortak dil çalışma zamanı tarafından çöp toplamayı engelleyen tam bir bildirimin tamamlanıp tamamlanmadığını belirlemek için kayıtlı bildirimin durumunu döndürür.
public:
static GCNotificationStatus WaitForFullGCComplete();
public static GCNotificationStatus WaitForFullGCComplete ();
[System.Security.SecurityCritical]
public static GCNotificationStatus WaitForFullGCComplete ();
static member WaitForFullGCComplete : unit -> GCNotificationStatus
[<System.Security.SecurityCritical>]
static member WaitForFullGCComplete : unit -> GCNotificationStatus
Public Shared Function WaitForFullGCComplete () As GCNotificationStatus
Döndürülenler
Kayıtlı çöp toplama bildirim durumu.
- Öznitelikler
Örnekler
Aşağıdaki örnekte, tam çöp toplama işleminin tamamlanıp tamamlanmadığını belirlemek için bu yöntemin nasıl kullanılacağı gösterilmektedir. Bildirimin durumu her olduğunda Succeeded, tamamlanan koleksiyona yanıt olarak eylemler gerçekleştirmek için kullanıcı yöntemi OnFullGCCompletedNotify
çağrılır. Bu kod örneği, Çöp Toplama Bildirimleri konusu için sağlanan daha büyük bir örneğin parçasıdır.
// Check for a notification of a completed collection.
s = GC::WaitForFullGCComplete();
if (s == GCNotificationStatus::Succeeded)
{
Console::WriteLine("GC Notification raised.");
OnFullGCCompleteEndNotify();
}
else if (s == GCNotificationStatus::Canceled)
{
Console::WriteLine("GC Notification cancelled.");
break;
}
else
{
// Could be a time out.
Console::WriteLine("GC Notification not applicable.");
break;
}
// Check for a notification of a completed collection.
GCNotificationStatus status = GC.WaitForFullGCComplete();
if (status == GCNotificationStatus.Succeeded)
{
Console.WriteLine("GC Notification raised.");
OnFullGCCompleteEndNotify();
}
else if (status == GCNotificationStatus.Canceled)
{
Console.WriteLine("GC Notification cancelled.");
break;
}
else
{
// Could be a time out.
Console.WriteLine("GC Notification not applicable.");
break;
}
// Check for a notification of a completed collection.
match GC.WaitForFullGCComplete() with
| GCNotificationStatus.Succeeded ->
printfn "GC Notification raised."
onFullGCCompleteEndNotify ()
| GCNotificationStatus.Canceled ->
printfn "GC Notification cancelled."
broken <- true
| _ ->
// Could be a time out.
printfn "GC Notification not applicable."
broken <- true
' Check for a notification of a completed collection.
s = GC.WaitForFullGCComplete
If (s = GCNotificationStatus.Succeeded) Then
Console.WriteLine("GC Notifiction raised.")
OnFullGCCompleteEndNotify()
ElseIf (s = GCNotificationStatus.Canceled) Then
Console.WriteLine("GC Notification cancelled.")
Exit While
Else
' Could be a time out.
Console.WriteLine("GC Notification not applicable.")
Exit While
End If
Açıklamalar
GCNotificationStatus yöntemi kullanılarak kaydedilen geçerli çöp toplama bildiriminin durumunu belirlemek için bu yöntem tarafından döndürülen numaralandırmayı RegisterForFullGCNotification kullanın. Tam çöp toplamanın WaitForFullGCApproach anlık olup olmadığını belirlemek için yöntemini de kullanabilirsiniz.
Numaralandırma döndürdüğünde Succeeded, işi devam ettirip özelliğiyle CollectionCount bir koleksiyon sayısı elde etme gibi görevleri gerçekleştirebilirsiniz.
Bu yöntem, bir çöp toplama bildiriminin alınması için süresiz olarak bekler. Bildirim alınamazsa yöntemin döndürülmesi için bir zaman aşımı süresi belirtmek istiyorsanız yöntem aşırı yüklemesini GC.WaitForFullGCApproach(Int32) kullanın. Zaman aşımı belirtmeden bu yöntemi çağırırsanız, tercih edilenden daha uzun süre bekliyorsanız yöntemini çağırabilirsiniz CancelFullGCNotification .
Bu yöntem çağrısı, tam bir çöp toplamaya sahip olduğunuzdan emin olmak için yöntemine bir çağrı WaitForFullGCApproach ile önce getirilmelidir. Bu yöntemin tek başına çağrılması belirsiz sonuçlar üretebilir.
Ayrıca bkz.
Şunlara uygulanır
WaitForFullGCComplete(Int32)
- Kaynak:
- GC.CoreCLR.cs
- Kaynak:
- GC.CoreCLR.cs
- Kaynak:
- GC.CoreCLR.cs
Belirtilen zaman aşımı süresinde, çalışma zamanının tamamladığı ortak dile göre çöp toplamayı engelleyen tam bir bildirim olup olmadığını belirlemek için kayıtlı bildirimin durumunu döndürür.
public:
static GCNotificationStatus WaitForFullGCComplete(int millisecondsTimeout);
public static GCNotificationStatus WaitForFullGCComplete (int millisecondsTimeout);
[System.Security.SecurityCritical]
public static GCNotificationStatus WaitForFullGCComplete (int millisecondsTimeout);
static member WaitForFullGCComplete : int -> GCNotificationStatus
[<System.Security.SecurityCritical>]
static member WaitForFullGCComplete : int -> GCNotificationStatus
Public Shared Function WaitForFullGCComplete (millisecondsTimeout As Integer) As GCNotificationStatus
Parametreler
- millisecondsTimeout
- Int32
Bildirim durumunun alınabilmesi için beklenecek süre. Süresiz olarak beklemek için -1 belirtin.
Döndürülenler
Kayıtlı çöp toplama bildirim durumu.
- Öznitelikler
Özel durumlar
millisecondsTimeout
int32.MaxValue veya -1 değerinden negatif veya küçük ya da eşit olmalıdır.
Açıklamalar
GCNotificationStatus yöntemi kullanılarak kaydedilen geçerli çöp toplama bildiriminin durumunu belirlemek için bu yöntem tarafından döndürülen numaralandırmayı RegisterForFullGCNotification kullanın. Tam çöp toplamanın WaitForFullGCApproach anlık olup olmadığını belirlemek için yöntemini de kullanabilirsiniz.
Bu yöntemin, tarafından millisecondsTimeout
belirtilen değerden bağımsız olarak çöp toplama bildirim durumu her alındığında hemen döndürdüğünü unutmayın. Zaman aşımına uğramadan önce millisecondsTimeout
bir çöp toplama bildirim durumu alınmazsa, bu yöntem döndürür NotApplicable.
Numaralandırma döndürdüğünde Succeeded, işi devam ettirip özelliğiyle CollectionCount bir koleksiyon sayısı elde etme gibi görevleri gerçekleştirebilirsiniz.
Zaman aşımı süresinin geçmesini bekleyemediğiniz durumlarda yöntemini çağırabilirsiniz CancelFullGCNotification .
Bu yöntem çağrısı, tam bir çöp toplamaya sahip olduğunuzdan emin olmak için yöntemine bir çağrı WaitForFullGCApproach ile önce getirilmelidir. Bu yöntemin tek başına çağrılması belirsiz sonuçlar üretebilir.
Ayrıca bkz.
Şunlara uygulanır
WaitForFullGCComplete(TimeSpan)
- Kaynak:
- GC.cs
- Kaynak:
- GC.cs
- Kaynak:
- GC.cs
Engelleyici çöp toplama işleminin tamamlanıp tamamlanmadığına ilişkin kayıtlı bildirimin durumunu döndürür. Tam koleksiyon için süresiz olarak bekleyebilir.
public:
static GCNotificationStatus WaitForFullGCComplete(TimeSpan timeout);
public static GCNotificationStatus WaitForFullGCComplete (TimeSpan timeout);
static member WaitForFullGCComplete : TimeSpan -> GCNotificationStatus
Public Shared Function WaitForFullGCComplete (timeout As TimeSpan) As GCNotificationStatus
Parametreler
- timeout
- TimeSpan
Tam koleksiyon beklerken zaman aşımı
Döndürülenler
Kayıtlı tam GC bildiriminin durumu