Bagikan melalui


GC.WaitForFullGCComplete Metode

Definisi

Mengembalikan status pemberitahuan terdaftar untuk menentukan apakah pengumpulan sampah penuh dan pemblokiran oleh runtime bahasa umum telah selesai.

Overload

WaitForFullGCComplete()

Mengembalikan status pemberitahuan terdaftar untuk menentukan apakah pengumpulan sampah penuh dan pemblokiran oleh runtime bahasa umum telah selesai.

WaitForFullGCComplete(Int32)

Mengembalikan, dalam periode waktu habis tertentu, status pemberitahuan terdaftar untuk menentukan apakah pengumpulan sampah penuh dan pemblokiran berdasarkan bahasa umum yang telah diselesaikan runtime bahasa umum.

WaitForFullGCComplete(TimeSpan)

Mengembalikan status pemberitahuan terdaftar tentang apakah pemblokiran pengumpulan sampah telah selesai. Mungkin menunggu tanpa batas waktu untuk koleksi lengkap.

WaitForFullGCComplete()

Sumber:
GC.CoreCLR.cs
Sumber:
GC.CoreCLR.cs
Sumber:
GC.CoreCLR.cs

Mengembalikan status pemberitahuan terdaftar untuk menentukan apakah pengumpulan sampah penuh dan pemblokiran oleh runtime bahasa umum telah selesai.

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

Mengembalikan

Status pemberitahuan pengumpulan sampah terdaftar.

Atribut

Contoh

Contoh berikut menunjukkan cara menggunakan metode ini untuk menentukan apakah pengumpulan sampah penuh telah selesai. Setiap kali status pemberitahuan adalah Succeeded, metode OnFullGCCompletedNotify pengguna dipanggil untuk melakukan tindakan sebagai respons terhadap koleksi yang telah selesai. Contoh kode ini adalah bagian dari contoh yang lebih besar yang disediakan untuk topik Pemberitahuan Pengumpulan Sampah .

// 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

Keterangan

GCNotificationStatus Gunakan enumerasi yang dikembalikan oleh metode ini untuk menentukan status pemberitahuan pengumpulan sampah saat ini yang didaftarkan dengan menggunakan RegisterForFullGCNotification metode . Anda juga dapat menggunakan WaitForFullGCApproach metode untuk menentukan apakah pengumpulan sampah penuh akan segera dilakukan.

Saat enumerasi mengembalikan Succeeded, Anda dapat melakukan tugas seperti melanjutkan pekerjaan dan mendapatkan jumlah koleksi dengan CollectionCount properti .

Metode ini menunggu tanpa batas waktu agar pemberitahuan pengumpulan sampah diperoleh. Jika Anda ingin menentukan periode waktu habis untuk mengembalikan metode jika pemberitahuan tidak dapat diperoleh, gunakan GC.WaitForFullGCApproach(Int32) metode kelebihan beban. Jika Anda memanggil metode ini tanpa menentukan waktu habis, Anda dapat memanggil CancelFullGCNotification metode jika Anda menunggu lebih lama dari yang diinginkan.

Panggilan metode ini harus didahului dengan panggilan ke WaitForFullGCApproach metode untuk memastikan bahwa Anda telah memiliki pengumpulan sampah penuh. Memanggil metode ini saja dapat menghasilkan hasil yang tidak ditentukan.

Lihat juga

Berlaku untuk

WaitForFullGCComplete(Int32)

Sumber:
GC.CoreCLR.cs
Sumber:
GC.CoreCLR.cs
Sumber:
GC.CoreCLR.cs

Mengembalikan, dalam periode waktu habis tertentu, status pemberitahuan terdaftar untuk menentukan apakah pengumpulan sampah penuh dan pemblokiran berdasarkan bahasa umum yang telah diselesaikan runtime bahasa umum.

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

Parameter

millisecondsTimeout
Int32

Lamanya waktu untuk menunggu sebelum status pemberitahuan dapat diperoleh. Tentukan -1 untuk menunggu tanpa batas waktu.

Mengembalikan

Status pemberitahuan pengumpulan sampah terdaftar.

Atribut

Pengecualian

millisecondsTimeout harus non-negatif atau kurang dari atau sama dengan Int32.MaxValue atau -1.

Keterangan

GCNotificationStatus Gunakan enumerasi yang dikembalikan oleh metode ini untuk menentukan status pemberitahuan pengumpulan sampah saat ini yang didaftarkan dengan menggunakan RegisterForFullGCNotification metode . Anda juga dapat menggunakan WaitForFullGCApproach metode untuk menentukan apakah pengumpulan sampah penuh akan segera dilakukan.

Perhatikan bahwa metode ini segera kembali setiap kali status pemberitahuan pengumpulan sampah diperoleh, terlepas dari nilai yang ditentukan oleh millisecondsTimeout. Jika status pemberitahuan pengumpulan sampah tidak diperoleh sebelum millisecondsTimeout waktu habis, metode ini mengembalikan NotApplicable.

Saat enumerasi mengembalikan Succeeded, Anda dapat melakukan tugas seperti melanjutkan pekerjaan dan mendapatkan jumlah koleksi dengan CollectionCount properti .

Anda dapat memanggil CancelFullGCNotification metode ketika Anda tidak dapat menunggu periode waktu habis berlalu.

Panggilan metode ini harus didahului dengan panggilan ke WaitForFullGCApproach metode untuk memastikan bahwa Anda telah memiliki pengumpulan sampah penuh. Memanggil metode ini saja dapat menghasilkan hasil yang tidak ditentukan.

Lihat juga

Berlaku untuk

WaitForFullGCComplete(TimeSpan)

Sumber:
GC.cs
Sumber:
GC.cs
Sumber:
GC.cs

Mengembalikan status pemberitahuan terdaftar tentang apakah pemblokiran pengumpulan sampah telah selesai. Mungkin menunggu tanpa batas waktu untuk koleksi lengkap.

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

Parameter

timeout
TimeSpan

Waktu habis saat menunggu koleksi lengkap

Mengembalikan

Status pemberitahuan GC lengkap yang terdaftar

Berlaku untuk