GC.TryStartNoGCRegion Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Upaya untuk melarang pengumpulan sampah selama eksekusi jalur kritis.
Overload
| Nama | Deskripsi |
|---|---|
| TryStartNoGCRegion(Int64, Int64, Boolean) |
Upaya untuk melarang pengumpulan sampah selama eksekusi jalur penting jika jumlah memori tertentu tersedia untuk tumpukan objek besar dan tumpukan objek kecil, dan mengontrol apakah pengumpul sampah melakukan pengumpulan sampah pemblokiran penuh jika memori yang tidak cukup pada awalnya tersedia. |
| TryStartNoGCRegion(Int64, Int64) |
Upaya untuk melarang pengumpulan sampah selama eksekusi jalur kritis jika jumlah memori tertentu tersedia untuk tumpukan objek besar dan tumpukan objek kecil. |
| TryStartNoGCRegion(Int64, Boolean) |
Upaya untuk melarang pengumpulan sampah selama eksekusi jalur penting jika jumlah memori tertentu tersedia, dan mengontrol apakah pengumpul sampah melakukan pengumpulan sampah pemblokiran penuh jika memori yang tidak cukup pada awalnya tersedia. |
| TryStartNoGCRegion(Int64) |
Upaya untuk melarang pengumpulan sampah selama eksekusi jalur penting jika jumlah memori yang ditentukan tersedia. |
Keterangan
Important
Anda tidak dapat menumpuk panggilan ke TryStartNoGCRegion metode , dan Anda hanya boleh memanggil EndNoGCRegion metode jika runtime saat ini tidak dalam mode latensi wilayah GC. Dengan kata lain, Anda tidak boleh memanggil TryStartNoGCRegion beberapa kali (setelah panggilan metode pertama, panggilan berikutnya tidak akan berhasil), dan Anda seharusnya tidak mengharapkan panggilan untuk EndNoGCRegion berhasil hanya karena panggilan TryStartNoGCRegion pertama berhasil.
TryStartNoGCRegion(Int64, Int64, Boolean)
- Sumber:
- GC.CoreCLR.cs
- Sumber:
- GC.CoreCLR.cs
- Sumber:
- GC.CoreCLR.cs
- Sumber:
- GC.CoreCLR.cs
- Sumber:
- GC.CoreCLR.cs
Upaya untuk melarang pengumpulan sampah selama eksekusi jalur penting jika jumlah memori tertentu tersedia untuk tumpukan objek besar dan tumpukan objek kecil, dan mengontrol apakah pengumpul sampah melakukan pengumpulan sampah pemblokiran penuh jika memori yang tidak cukup pada awalnya tersedia.
public:
static bool TryStartNoGCRegion(long totalSize, long lohSize, bool disallowFullBlockingGC);
public static bool TryStartNoGCRegion(long totalSize, long lohSize, bool disallowFullBlockingGC);
[System.Security.SecurityCritical]
public static bool TryStartNoGCRegion(long totalSize, long lohSize, bool disallowFullBlockingGC);
static member TryStartNoGCRegion : int64 * int64 * bool -> bool
[<System.Security.SecurityCritical>]
static member TryStartNoGCRegion : int64 * int64 * bool -> bool
Public Shared Function TryStartNoGCRegion (totalSize As Long, lohSize As Long, disallowFullBlockingGC As Boolean) As Boolean
Parameter
- totalSize
- Int64
Jumlah memori dalam byte untuk dialokasikan tanpa memicu pengumpulan sampah.
totalSize
-
lohSize harus kurang dari atau sama dengan ukuran segmen ephemeral. Untuk informasi tentang ukuran segmen sementara, lihat bagian "Generasi sementara dan segmen" di artikel Dasar-Dasar Pengumpulan Sampah .
- lohSize
- Int64
Jumlah byte yang totalSize digunakan untuk alokasi timbunan objek besar (LOH).
- disallowFullBlockingGC
- Boolean
true untuk menghilangkan pengumpulan sampah pemblokiran penuh jika pengumpul sampah awalnya tidak dapat mengalokasikan memori yang ditentukan pada tumpukan objek kecil (SOH) dan LOH; jika tidak, false.
Mengembalikan
true jika runtime dapat menerapkan jumlah memori yang diperlukan dan pengumpul sampah dapat memasuki mode latensi wilayah GC; jika tidak, false.
- Atribut
Pengecualian
totalSize
-
lohSize melebihi ukuran segmen ephemeral.
Proses ini sudah dalam mode latensi wilayah GC.
Keterangan
Metode ini TryStartNoGCRegion(Int64, Int64, Boolean) mencoba menempatkan pengumpul sampah tanpa mode latensi wilayah GC, yang melarang pengumpulan sampah sementara aplikasi menjalankan wilayah kode penting. Jika runtime tidak dapat awalnya mengalokasikan jumlah memori yang diminta dan disallowFullBlockingGC argumennya adalah false, pengumpul sampah melakukan pengumpulan sampah pemblokiran penuh dalam upaya untuk membebaskan memori tambahan; jika tidak, alokasi gagal, dan metode mengembalikan false. Pengumpul sampah tidak memasuki mode latensi wilayah GC jika mampu mengalokasikan lohSize untuk LOH dan totalSize - lohSize untuk tumpukan objek kecil (SOH).
lohSize harus cukup besar untuk menangani semua alokasi memori yang terjadi di jalur kritis untuk LOH, dan totalSize - lohSize harus cukup besar untuk menangani semua alokasi memori yang terjadi di jalur kritis untuk SOH. Ini termasuk alokasi oleh aplikasi, serta alokasi yang dilakukan runtime atas nama aplikasi.
Pengaturan disallowFullBlockingGC ke true untuk mencegah pengumpulan sampah pemblokiran penuh jika memori yang awalnya tidak cukup tersedia paling berguna dalam skenario penyeimbangan beban: satu sistem dapat memanggil metode ini dan melaporkan dirinya sebagai siap untuk menerima permintaan jika kembali true, dan meminta penyeimbang muatan mengalihkan permintaan ke sistem lain jika mengembalikan false. Kemudian dapat melakukan pengumpulan sampah pemblokiran penuh ketika tidak menangani permintaan dengan memanggil Collect(Int32, GCCollectionMode, Boolean, Boolean) metode .
Important
Anda tidak dapat menumpuk panggilan ke TryStartNoGCRegion metode , dan Anda hanya boleh memanggil EndNoGCRegion metode jika runtime saat ini tidak dalam mode latensi wilayah GC. Dengan kata lain, Anda tidak boleh memanggil TryStartNoGCRegion beberapa kali (setelah panggilan metode pertama, panggilan berikutnya tidak akan berhasil), dan Anda seharusnya tidak mengharapkan panggilan untuk EndNoGCRegion berhasil hanya karena panggilan TryStartNoGCRegion pertama berhasil.
Anda keluar dari mode tidak ada latensi wilayah GC dengan memanggil EndNoGCRegion metode .
Lihat juga
Berlaku untuk
TryStartNoGCRegion(Int64, Int64)
- Sumber:
- GC.CoreCLR.cs
- Sumber:
- GC.CoreCLR.cs
- Sumber:
- GC.CoreCLR.cs
- Sumber:
- GC.CoreCLR.cs
- Sumber:
- GC.CoreCLR.cs
Upaya untuk melarang pengumpulan sampah selama eksekusi jalur kritis jika jumlah memori tertentu tersedia untuk tumpukan objek besar dan tumpukan objek kecil.
public:
static bool TryStartNoGCRegion(long totalSize, long lohSize);
public static bool TryStartNoGCRegion(long totalSize, long lohSize);
[System.Security.SecurityCritical]
public static bool TryStartNoGCRegion(long totalSize, long lohSize);
static member TryStartNoGCRegion : int64 * int64 -> bool
[<System.Security.SecurityCritical>]
static member TryStartNoGCRegion : int64 * int64 -> bool
Public Shared Function TryStartNoGCRegion (totalSize As Long, lohSize As Long) As Boolean
Parameter
- totalSize
- Int64
Jumlah memori dalam byte untuk dialokasikan tanpa memicu pengumpulan sampah.
totalSize
-
lohSize harus kurang dari atau sama dengan ukuran segmen ephemeral. Untuk informasi tentang ukuran segmen sementara, lihat bagian "Generasi sementara dan segmen" di artikel Dasar-Dasar Pengumpulan Sampah .
- lohSize
- Int64
Jumlah byte yang totalSize digunakan untuk alokasi timbunan objek besar (LOH).
Mengembalikan
true jika runtime dapat menerapkan jumlah memori yang diperlukan dan pengumpul sampah dapat memasuki mode latensi wilayah GC; jika tidak, false.
- Atribut
Pengecualian
totalSize
-
lohSize melebihi ukuran segmen ephemeral.
Proses ini sudah dalam mode latensi wilayah GC.
Keterangan
Metode ini TryStartNoGCRegion(Int64, Int64) mencoba menempatkan pengumpul sampah tanpa mode latensi wilayah GC, yang melarang pengumpulan sampah sementara aplikasi menjalankan wilayah kode penting. Jika runtime tidak dapat mengalokasikan jumlah memori yang diminta, pengumpul sampah melakukan pengumpulan sampah pemblokiran penuh dalam upaya untuk membebaskan memori tambahan. Pengumpul sampah tidak memasuki mode latensi wilayah GC jika mampu mengalokasikan lohSize untuk LOH dan totalSize - lohSize untuk tumpukan objek kecil (SOH).
lohSize harus cukup besar untuk menangani semua alokasi memori yang terjadi di jalur kritis untuk LOH, dan totalSize - lohSize harus cukup besar untuk menangani semua alokasi memori yang terjadi di jalur kritis untuk SOH. Ini termasuk alokasi oleh aplikasi, serta alokasi yang dilakukan runtime atas nama aplikasi.
Important
Anda tidak dapat menumpuk panggilan ke TryStartNoGCRegion metode , dan Anda hanya boleh memanggil EndNoGCRegion metode jika runtime saat ini tidak dalam mode latensi wilayah GC. Dengan kata lain, Anda tidak boleh memanggil TryStartNoGCRegion beberapa kali (setelah panggilan metode pertama, panggilan berikutnya tidak akan berhasil), dan Anda seharusnya tidak mengharapkan panggilan untuk EndNoGCRegion berhasil hanya karena panggilan TryStartNoGCRegion pertama berhasil.
Anda keluar dari mode tidak ada latensi wilayah GC dengan memanggil EndNoGCRegion metode .
Lihat juga
Berlaku untuk
TryStartNoGCRegion(Int64, Boolean)
- Sumber:
- GC.CoreCLR.cs
- Sumber:
- GC.CoreCLR.cs
- Sumber:
- GC.CoreCLR.cs
- Sumber:
- GC.CoreCLR.cs
- Sumber:
- GC.CoreCLR.cs
Upaya untuk melarang pengumpulan sampah selama eksekusi jalur penting jika jumlah memori tertentu tersedia, dan mengontrol apakah pengumpul sampah melakukan pengumpulan sampah pemblokiran penuh jika memori yang tidak cukup pada awalnya tersedia.
public:
static bool TryStartNoGCRegion(long totalSize, bool disallowFullBlockingGC);
public static bool TryStartNoGCRegion(long totalSize, bool disallowFullBlockingGC);
[System.Security.SecurityCritical]
public static bool TryStartNoGCRegion(long totalSize, bool disallowFullBlockingGC);
static member TryStartNoGCRegion : int64 * bool -> bool
[<System.Security.SecurityCritical>]
static member TryStartNoGCRegion : int64 * bool -> bool
Public Shared Function TryStartNoGCRegion (totalSize As Long, disallowFullBlockingGC As Boolean) As Boolean
Parameter
- totalSize
- Int64
Jumlah memori dalam byte untuk dialokasikan tanpa memicu pengumpulan sampah. Ini harus kurang dari atau sama dengan ukuran segmen ephemeral. Untuk informasi tentang ukuran segmen sementara, lihat bagian "Generasi sementara dan segmen" di artikel Dasar-Dasar Pengumpulan Sampah .
- disallowFullBlockingGC
- Boolean
true untuk menghilangkan pengumpulan sampah pemblokiran penuh jika pengumpul sampah awalnya tidak dapat mengalokasikan totalSize byte; jika tidak, false.
Mengembalikan
true jika runtime dapat menerapkan jumlah memori yang diperlukan dan pengumpul sampah dapat memasuki mode latensi wilayah GC; jika tidak, false.
- Atribut
Pengecualian
totalSize melebihi ukuran segmen ephemeral.
Proses ini sudah dalam mode latensi wilayah GC.
Keterangan
Metode ini TryStartNoGCRegion(Int64, Boolean) mencoba menempatkan pengumpul sampah tanpa mode latensi wilayah GC, yang melarang pengumpulan sampah sementara aplikasi menjalankan wilayah kode penting. Jika runtime tidak dapat awalnya mengalokasikan jumlah memori yang diminta dan disallowFullBlockingGC argumennya adalah false, pengumpul sampah melakukan pengumpulan sampah pemblokiran penuh dalam upaya untuk membebaskan memori tambahan; jika tidak, alokasi gagal, dan metode mengembalikan false. Pengumpul sampah tidak memasuki mode latensi wilayah GC jika mampu mengalokasikan jumlah memori yang diperlukan, yang dalam hal ini sebenarnya adalah 2 * totalSize (ia mencoba mengalokasikan totalSize untuk tumpukan objek kecil dan totalSize untuk tumpukan objek besar).
totalSize harus cukup besar untuk menangani semua alokasi memori yang terjadi di jalur kritis. Ini termasuk alokasi oleh aplikasi, serta alokasi yang dilakukan runtime atas nama aplikasi.
Pengaturan disallowFullBlockingGC ke true untuk mencegah pengumpulan sampah pemblokiran penuh jika memori yang awalnya tidak cukup tersedia paling berguna dalam skenario penyeimbangan beban: satu sistem dapat memanggil metode ini dan melaporkan dirinya sebagai siap untuk menerima permintaan jika kembali true, dan meminta penyeimbang muatan mengalihkan permintaan ke sistem lain jika mengembalikan false. Kemudian dapat melakukan pengumpulan sampah pemblokiran penuh ketika tidak menangani permintaan dengan memanggil Collect(Int32, GCCollectionMode, Boolean, Boolean) metode .
Important
Anda tidak dapat menumpuk panggilan ke TryStartNoGCRegion metode , dan Anda hanya boleh memanggil EndNoGCRegion metode jika runtime saat ini tidak dalam mode latensi wilayah GC. Dengan kata lain, Anda tidak boleh memanggil TryStartNoGCRegion beberapa kali (setelah panggilan metode pertama, panggilan berikutnya tidak akan berhasil), dan Anda seharusnya tidak mengharapkan panggilan untuk EndNoGCRegion berhasil hanya karena panggilan TryStartNoGCRegion pertama berhasil.
Anda keluar dari mode tidak ada latensi wilayah GC dengan memanggil EndNoGCRegion metode .
Lihat juga
Berlaku untuk
TryStartNoGCRegion(Int64)
- Sumber:
- GC.CoreCLR.cs
- Sumber:
- GC.CoreCLR.cs
- Sumber:
- GC.CoreCLR.cs
- Sumber:
- GC.CoreCLR.cs
- Sumber:
- GC.CoreCLR.cs
Upaya untuk melarang pengumpulan sampah selama eksekusi jalur penting jika jumlah memori yang ditentukan tersedia.
public:
static bool TryStartNoGCRegion(long totalSize);
public static bool TryStartNoGCRegion(long totalSize);
[System.Security.SecurityCritical]
public static bool TryStartNoGCRegion(long totalSize);
static member TryStartNoGCRegion : int64 -> bool
[<System.Security.SecurityCritical>]
static member TryStartNoGCRegion : int64 -> bool
Public Shared Function TryStartNoGCRegion (totalSize As Long) As Boolean
Parameter
- totalSize
- Int64
Jumlah memori dalam byte untuk dialokasikan tanpa memicu pengumpulan sampah. Ini harus kurang dari atau sama dengan ukuran segmen ephemeral. Untuk informasi tentang ukuran segmen sementara, lihat bagian "Generasi sementara dan segmen" di artikel Dasar-Dasar Pengumpulan Sampah .
Mengembalikan
true jika runtime dapat menerapkan jumlah memori yang diperlukan dan pengumpul sampah dapat memasuki mode latensi wilayah GC; jika tidak, false.
- Atribut
Pengecualian
totalSize melebihi ukuran segmen ephemeral.
Proses ini sudah dalam mode latensi wilayah GC.
Keterangan
Metode ini TryStartNoGCRegion(Int64) mencoba menempatkan pengumpul sampah tanpa mode latensi wilayah GC, yang melarang pengumpulan sampah sementara aplikasi menjalankan wilayah kode penting. Jika runtime tidak dapat mengalokasikan jumlah memori yang diminta, pengumpul sampah melakukan pengumpulan sampah pemblokiran penuh dalam upaya untuk membebaskan memori tambahan. Pengumpul sampah tidak memasuki mode latensi wilayah GC jika mampu mengalokasikan jumlah memori yang diperlukan, yang dalam hal ini sebenarnya 2 * totalSize byte (ia mencoba mengalokasikan totalSize byte untuk tumpukan objek kecil dan totalSize byte untuk tumpukan objek besar).
totalSize harus cukup besar untuk menangani semua alokasi memori yang terjadi di jalur kritis. Ini termasuk alokasi oleh aplikasi, serta alokasi yang dilakukan runtime atas nama aplikasi.
Important
Anda tidak dapat menumpuk panggilan ke TryStartNoGCRegion metode , dan Anda hanya boleh memanggil EndNoGCRegion metode jika runtime saat ini tidak dalam mode latensi wilayah GC. Dengan kata lain, Anda tidak boleh memanggil TryStartNoGCRegion beberapa kali (setelah panggilan metode pertama, panggilan berikutnya tidak akan berhasil), dan Anda seharusnya tidak mengharapkan panggilan untuk EndNoGCRegion berhasil hanya karena panggilan TryStartNoGCRegion pertama berhasil.
Anda keluar dari mode tidak ada latensi wilayah GC dengan memanggil EndNoGCRegion metode .