GC.TryStartNoGCRegion 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.
Kritik bir yolun yürütülmesi sırasında çöp toplamaya izin vermemeye çalışır.
Aşırı Yüklemeler
| Name | Description |
|---|---|
| TryStartNoGCRegion(Int64, Int64, Boolean) |
Büyük nesne yığını ve küçük nesne yığını için belirtilen miktarda bellek varsa kritik bir yolun yürütülmesi sırasında çöp toplamaya izin vermemeye çalışır ve başlangıçta yeterli bellek yoksa çöp toplayıcının tam engelleme çöp toplaması yapıp yapmadığını denetler. |
| TryStartNoGCRegion(Int64, Int64) |
Büyük nesne yığını ve küçük nesne yığını için belirtilen miktarda bellek varsa, kritik bir yolun yürütülmesi sırasında çöp toplamaya izin vermemeye çalışır. |
| TryStartNoGCRegion(Int64, Boolean) |
Belirtilen miktarda bellek varsa kritik bir yolun yürütülmesi sırasında çöp toplamaya izin vermemeye çalışır ve başlangıçta yeterli bellek yoksa çöp toplayıcının tam engelleme çöp toplaması yapıp yapmadığını denetler. |
| TryStartNoGCRegion(Int64) |
Belirtilen miktarda bellek varsa kritik bir yolun yürütülmesi sırasında çöp toplamaya izin vermemeye çalışır. |
Açıklamalar
Important
TryStartNoGCRegion yöntemine yapılan çağrıları iç içe yerleştiremezsiniz. Yalnızca çalışma zamanı şu anda GC olmayan bölge gecikme modunda ise EndNoGCRegion yöntemini çağırmalısınız. Başka bir deyişle, birden çok kez çağırmamalısınız TryStartNoGCRegion (ilk yöntem çağrısından sonra, sonraki çağrılar başarılı olmaz) ve yalnızca başarılı olan ilk çağrının başarılı olması için çağrıların EndNoGCRegionTryStartNoGCRegion başarılı olmasını beklememelisiniz.
TryStartNoGCRegion(Int64, Int64, Boolean)
- Kaynak:
- GC.CoreCLR.cs
- Kaynak:
- GC.CoreCLR.cs
- Kaynak:
- GC.CoreCLR.cs
- Kaynak:
- GC.CoreCLR.cs
- Kaynak:
- GC.CoreCLR.cs
Büyük nesne yığını ve küçük nesne yığını için belirtilen miktarda bellek varsa kritik bir yolun yürütülmesi sırasında çöp toplamaya izin vermemeye çalışır ve başlangıçta yeterli bellek yoksa çöp toplayıcının tam engelleme çöp toplaması yapıp yapmadığını denetler.
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
Parametreler
- totalSize
- Int64
Çöp toplama tetiklemeden ayrılacak bayt cinsinden bellek miktarı.
totalSize
-
lohSize kısa ömürlü bir segmentin boyutundan küçük veya eşit olmalıdır. Kısa ömürlü segmentin boyutu hakkında bilgi için, Çöp Toplamanın Temelleri makalesindeki "Kısa ömürlü nesiller ve segmentler" bölümüne bakın.
- lohSize
- Int64
Büyük nesne yığını (LOH) ayırmaları için kullanılacak içindeki totalSize bayt sayısı.
- disallowFullBlockingGC
- Boolean
true çöp toplayıcı başlangıçta küçük nesne yığınında (SOH) ve LOH'da belirtilen belleği ayıramıyorsa, tam engelleyici çöp toplamayı atlar; aksi takdirde , false.
Döndürülenler
true çalışma zamanı gerekli miktarda bellek işleyebildiyse ve atık toplayıcı GC bölgesi gecikme moduna giremiyorsa; aksi takdirde , false.
- Öznitelikler
Özel durumlar
totalSize
-
lohSize kısa ömürlü segment boyutunu aşıyor.
İşlem zaten GC bölgesi gecikme modunda değil.
Açıklamalar
TryStartNoGCRegion(Int64, Int64, Boolean) yöntemi, bir uygulama kritik bir kod bölgesini yürütürken çöp toplamayı engelleyen gc bölgesi gecikme moduna atık toplayıcı yerleştirmeye çalışır. Çalışma zamanı başlangıçta istenen bellek miktarını ayıramıyorsa ve disallowFullBlockingGC bağımsız değişkeni ise false, atık toplayıcı ek bellek boşaltma girişiminde tam engelleme çöp toplama işlemi gerçekleştirir; aksi takdirde ayırma başarısız olur ve yöntemi döndürür false. Atık toplayıcı, LOH ve lohSizetotalSize - küçük nesne yığını (SOH) için ayırabiliyorsa lohSize GC bölgesi gecikme moduna girmez.
lohSize LOH için kritik yolda gerçekleşen tüm bellek ayırmalarını işleyecek kadar büyük olmalı ve totalSize - lohSize SOH için kritik yolda gerçekleşen tüm bellek ayırmalarını işleyecek kadar büyük olmalıdır. Buna uygulama tarafından yapılan ayırmaların yanı sıra çalışma zamanının uygulama adına yaptığı ayırmalar dahildir.
Başlangıçta yeterli bellek yoksa tam engelleyici çöp toplamayı önlemek için disallowFullBlockingGC ayarlamaktrue, yük dengeleme senaryolarında en çok yararlıdır: bir sistem bu yöntemi çağırabilir ve döndürürse trueistekleri kabul etmeye hazır olarak raporlayabilir ve döndürürse falseyük dengeleyici yeniden yönlendirme isteklerini diğer sistemlere yönlendirebilir. Daha sonra yöntemini çağırarak istekleri işlemediğinde tam engelleme çöp toplaması Collect(Int32, GCCollectionMode, Boolean, Boolean) yapabilir.
Important
TryStartNoGCRegion yöntemine yapılan çağrıları iç içe yerleştiremezsiniz. Yalnızca çalışma zamanı şu anda GC olmayan bölge gecikme modunda ise EndNoGCRegion yöntemini çağırmalısınız. Başka bir deyişle, birden çok kez çağırmamalısınız TryStartNoGCRegion (ilk yöntem çağrısından sonra, sonraki çağrılar başarılı olmaz) ve yalnızca başarılı olan ilk çağrının başarılı olması için çağrıların EndNoGCRegionTryStartNoGCRegion başarılı olmasını beklememelisiniz.
yöntemini çağırarak GC bölgesi gecikme süresi yok modundan EndNoGCRegion çıkarsınız.
Ayrıca bkz.
- EndNoGCRegion()
- çöp toplama temelleri
- Gecikme Modları
Şunlara uygulanır
TryStartNoGCRegion(Int64, Int64)
- Kaynak:
- GC.CoreCLR.cs
- Kaynak:
- GC.CoreCLR.cs
- Kaynak:
- GC.CoreCLR.cs
- Kaynak:
- GC.CoreCLR.cs
- Kaynak:
- GC.CoreCLR.cs
Büyük nesne yığını ve küçük nesne yığını için belirtilen miktarda bellek varsa, kritik bir yolun yürütülmesi sırasında çöp toplamaya izin vermemeye çalışır.
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
Parametreler
- totalSize
- Int64
Çöp toplama tetiklemeden ayrılacak bayt cinsinden bellek miktarı.
totalSize
-
lohSize kısa ömürlü bir segmentin boyutundan küçük veya eşit olmalıdır. Kısa ömürlü segmentin boyutu hakkında bilgi için, Çöp Toplamanın Temelleri makalesindeki "Kısa ömürlü nesiller ve segmentler" bölümüne bakın.
- lohSize
- Int64
Büyük nesne yığını (LOH) ayırmaları için kullanılacak içindeki totalSize bayt sayısı.
Döndürülenler
true çalışma zamanı gerekli miktarda bellek işleyebildiyse ve atık toplayıcı GC bölgesi gecikme moduna giremiyorsa; aksi takdirde , false.
- Öznitelikler
Özel durumlar
totalSize
-
lohSize kısa ömürlü segment boyutunu aşıyor.
İşlem zaten GC bölgesi gecikme modunda değil.
Açıklamalar
TryStartNoGCRegion(Int64, Int64) yöntemi, bir uygulama kritik bir kod bölgesini yürütürken çöp toplamayı engelleyen gc bölgesi gecikme moduna atık toplayıcı yerleştirmeye çalışır. Çalışma zamanı başlangıçta istenen bellek miktarını ayıramazsa, atık toplayıcı ek bellek boşaltma girişiminde tam engelleme çöp toplama işlemi gerçekleştirir. Atık toplayıcı, LOH ve lohSizetotalSize - küçük nesne yığını (SOH) için ayırabiliyorsa lohSize GC bölgesi gecikme moduna girmez.
lohSize LOH için kritik yolda gerçekleşen tüm bellek ayırmalarını işleyecek kadar büyük olmalı ve totalSize - lohSize SOH için kritik yolda gerçekleşen tüm bellek ayırmalarını işleyecek kadar büyük olmalıdır. Buna uygulama tarafından yapılan ayırmaların yanı sıra çalışma zamanının uygulama adına yaptığı ayırmalar dahildir.
Important
TryStartNoGCRegion yöntemine yapılan çağrıları iç içe yerleştiremezsiniz. Yalnızca çalışma zamanı şu anda GC olmayan bölge gecikme modunda ise EndNoGCRegion yöntemini çağırmalısınız. Başka bir deyişle, birden çok kez çağırmamalısınız TryStartNoGCRegion (ilk yöntem çağrısından sonra, sonraki çağrılar başarılı olmaz) ve yalnızca başarılı olan ilk çağrının başarılı olması için çağrıların EndNoGCRegionTryStartNoGCRegion başarılı olmasını beklememelisiniz.
yöntemini çağırarak GC bölgesi gecikme süresi yok modundan EndNoGCRegion çıkarsınız.
Ayrıca bkz.
- EndNoGCRegion()
- çöp toplama temelleri
- Gecikme Modları
Şunlara uygulanır
TryStartNoGCRegion(Int64, Boolean)
- Kaynak:
- GC.CoreCLR.cs
- Kaynak:
- GC.CoreCLR.cs
- Kaynak:
- GC.CoreCLR.cs
- Kaynak:
- GC.CoreCLR.cs
- Kaynak:
- GC.CoreCLR.cs
Belirtilen miktarda bellek varsa kritik bir yolun yürütülmesi sırasında çöp toplamaya izin vermemeye çalışır ve başlangıçta yeterli bellek yoksa çöp toplayıcının tam engelleme çöp toplaması yapıp yapmadığını denetler.
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
Parametreler
- totalSize
- Int64
Çöp toplama tetiklemeden ayrılacak bayt cinsinden bellek miktarı. Kısa ömürlü bir segmentin boyutundan küçük veya eşit olmalıdır. Kısa ömürlü segmentin boyutu hakkında bilgi için, Çöp Toplamanın Temelleri makalesindeki "Kısa ömürlü nesiller ve segmentler" bölümüne bakın.
- disallowFullBlockingGC
- Boolean
true çöp toplayıcı başlangıçta bayt ayıramıyorsa totalSize , tam engelleyici çöp toplamayı atlar; aksi takdirde, false.
Döndürülenler
true çalışma zamanı gerekli miktarda bellek işleyebildiyse ve atık toplayıcı GC bölgesi gecikme moduna giremiyorsa; aksi takdirde , false.
- Öznitelikler
Özel durumlar
totalSize kısa ömürlü segment boyutunu aşıyor.
İşlem zaten GC bölgesi gecikme modunda değil.
Açıklamalar
TryStartNoGCRegion(Int64, Boolean) yöntemi, bir uygulama kritik bir kod bölgesini yürütürken çöp toplamayı engelleyen gc bölgesi gecikme moduna atık toplayıcı yerleştirmeye çalışır. Çalışma zamanı başlangıçta istenen bellek miktarını ayıramıyorsa ve disallowFullBlockingGC bağımsız değişkeni ise false, atık toplayıcı ek bellek boşaltma girişiminde tam engelleme çöp toplama işlemi gerçekleştirir; aksi takdirde ayırma başarısız olur ve yöntemi döndürür false. Atık toplayıcı, gerekli bellek miktarını ayırabiliyorsa gc bölgesi gecikme moduna girmez ve bu durumda aslında 2 * totalSize olur (küçük nesne yığını ve totalSize büyük nesne yığını için ayırmayı totalSize dener).
totalSize kritik yolda gerçekleşen tüm bellek ayırmalarını işleyecek kadar büyük olmalıdır. Buna uygulama tarafından yapılan ayırmaların yanı sıra çalışma zamanının uygulama adına yaptığı ayırmalar dahildir.
Başlangıçta yeterli bellek yoksa tam engelleyici çöp toplamayı önlemek için disallowFullBlockingGC ayarlamaktrue, yük dengeleme senaryolarında en çok yararlıdır: bir sistem bu yöntemi çağırabilir ve döndürürse trueistekleri kabul etmeye hazır olarak raporlayabilir ve döndürürse falseyük dengeleyici yeniden yönlendirme isteklerini diğer sistemlere yönlendirebilir. Daha sonra yöntemini çağırarak istekleri işlemediğinde tam engelleme çöp toplaması Collect(Int32, GCCollectionMode, Boolean, Boolean) yapabilir.
Important
TryStartNoGCRegion yöntemine yapılan çağrıları iç içe yerleştiremezsiniz. Yalnızca çalışma zamanı şu anda GC olmayan bölge gecikme modunda ise EndNoGCRegion yöntemini çağırmalısınız. Başka bir deyişle, birden çok kez çağırmamalısınız TryStartNoGCRegion (ilk yöntem çağrısından sonra, sonraki çağrılar başarılı olmaz) ve yalnızca başarılı olan ilk çağrının başarılı olması için çağrıların EndNoGCRegionTryStartNoGCRegion başarılı olmasını beklememelisiniz.
yöntemini çağırarak GC bölgesi gecikme süresi yok modundan EndNoGCRegion çıkarsınız.
Ayrıca bkz.
- EndNoGCRegion()
- çöp toplama temelleri
- Gecikme Modları
Şunlara uygulanır
TryStartNoGCRegion(Int64)
- Kaynak:
- GC.CoreCLR.cs
- Kaynak:
- GC.CoreCLR.cs
- Kaynak:
- GC.CoreCLR.cs
- Kaynak:
- GC.CoreCLR.cs
- Kaynak:
- GC.CoreCLR.cs
Belirtilen miktarda bellek varsa kritik bir yolun yürütülmesi sırasında çöp toplamaya izin vermemeye çalışır.
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
Parametreler
- totalSize
- Int64
Çöp toplama tetiklemeden ayrılacak bayt cinsinden bellek miktarı. Kısa ömürlü bir segmentin boyutundan küçük veya eşit olmalıdır. Kısa ömürlü segmentin boyutu hakkında bilgi için, Çöp Toplamanın Temelleri makalesindeki "Kısa ömürlü nesiller ve segmentler" bölümüne bakın.
Döndürülenler
true çalışma zamanı gerekli miktarda bellek işleyebildiyse ve atık toplayıcı GC bölgesi gecikme moduna giremiyorsa; aksi takdirde , false.
- Öznitelikler
Özel durumlar
totalSize kısa ömürlü segment boyutunu aşıyor.
İşlem zaten GC bölgesi gecikme modunda değil.
Açıklamalar
TryStartNoGCRegion(Int64) yöntemi, bir uygulama kritik bir kod bölgesini yürütürken çöp toplamayı engelleyen gc bölgesi gecikme moduna atık toplayıcı yerleştirmeye çalışır. Çalışma zamanı başlangıçta istenen bellek miktarını ayıramazsa, atık toplayıcı ek bellek boşaltma girişiminde tam engelleme çöp toplama işlemi gerçekleştirir. Atık toplayıcı gerekli bellek miktarını ayırabiliyorsa GC bölgesi gecikme moduna girmez; bu durumda aslında 2 * totalSize bayttır (küçük nesne yığını için bayt ve totalSize büyük nesne yığını için bayt ayırmayı totalSize dener).
totalSize kritik yolda gerçekleşen tüm bellek ayırmalarını işleyecek kadar büyük olmalıdır. Buna uygulama tarafından yapılan ayırmaların yanı sıra çalışma zamanının uygulama adına yaptığı ayırmalar dahildir.
Important
TryStartNoGCRegion yöntemine yapılan çağrıları iç içe yerleştiremezsiniz. Yalnızca çalışma zamanı şu anda GC olmayan bölge gecikme modunda ise EndNoGCRegion yöntemini çağırmalısınız. Başka bir deyişle, birden çok kez çağırmamalısınız TryStartNoGCRegion (ilk yöntem çağrısından sonra, sonraki çağrılar başarılı olmaz) ve yalnızca başarılı olan ilk çağrının başarılı olması için çağrıların EndNoGCRegionTryStartNoGCRegion başarılı olmasını beklememelisiniz.
yöntemini çağırarak GC bölgesi gecikme süresi yok modundan EndNoGCRegion çıkarsınız.
Ayrıca bkz.
- EndNoGCRegion()
- çöp toplama temelleri
- Gecikme Modları