GC.TryStartNoGCRegion Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Tenta di impedire l'operazione di Garbage Collection durante l'esecuzione di un percorso critico.
Overload
| Nome | Descrizione |
|---|---|
| TryStartNoGCRegion(Int64, Int64, Boolean) |
Tenta di impedire l'operazione di Garbage Collection durante l'esecuzione di un percorso critico se è disponibile una quantità specificata di memoria per l'heap di oggetti di grandi dimensioni e l'heap di oggetti di piccole dimensioni e controlla se il Garbage Collector esegue un'operazione completa di Garbage Collection bloccando se inizialmente non è disponibile memoria sufficiente. |
| TryStartNoGCRegion(Int64, Int64) |
Tenta di impedire l'operazione di Garbage Collection durante l'esecuzione di un percorso critico se è disponibile una quantità specificata di memoria per l'heap di oggetti di grandi dimensioni e l'heap di oggetti di piccole dimensioni. |
| TryStartNoGCRegion(Int64, Boolean) |
Tenta di impedire l'operazione di Garbage Collection durante l'esecuzione di un percorso critico se è disponibile una quantità specificata di memoria e controlla se il Garbage Collector esegue un'operazione completa di Garbage Collection bloccando se inizialmente non è disponibile memoria sufficiente. |
| TryStartNoGCRegion(Int64) |
Tenta di impedire l'operazione di Garbage Collection durante l'esecuzione di un percorso critico se è disponibile una quantità di memoria specificata. |
Commenti
Importante
Non è possibile annidare le chiamate al metodo TryStartNoGCRegion, e dovresti chiamare il metodo EndNoGCRegion solo se il runtime è attualmente in modalità di latenza della regione senza GC. In altre parole, non è consigliabile chiamare TryStartNoGCRegion più volte (dopo la prima chiamata al metodo, le chiamate successive non avranno esito positivo) e non ci si dovrebbe aspettare che le chiamate EndNoGCRegion abbiano esito positivo solo perché la prima chiamata a TryStartNoGCRegion ha avuto esito positivo.
TryStartNoGCRegion(Int64, Int64, Boolean)
- Origine:
- GC.CoreCLR.cs
- Origine:
- GC.CoreCLR.cs
- Origine:
- GC.CoreCLR.cs
- Origine:
- GC.CoreCLR.cs
- Origine:
- GC.CoreCLR.cs
Tenta di impedire l'operazione di Garbage Collection durante l'esecuzione di un percorso critico se è disponibile una quantità specificata di memoria per l'heap di oggetti di grandi dimensioni e l'heap di oggetti di piccole dimensioni e controlla se il Garbage Collector esegue un'operazione completa di Garbage Collection bloccando se inizialmente non è disponibile memoria sufficiente.
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
Parametri
- totalSize
- Int64
Quantità di memoria in byte da allocare senza attivare un'operazione di Garbage Collection.
totalSize
-
lohSize deve essere minore o uguale alla dimensione di un segmento temporaneo. Per informazioni sulle dimensioni di un segmento temporaneo, vedere la sezione "Generazioni e segmenti temporanei" nell'articolo Concetti fondamentali di Garbage Collection .
- lohSize
- Int64
Numero di byte in da usare per le allocazioni di heap oggetti di grandi dimensioni.The number of bytes in totalSize to use for large object heap (LOH) allocations.
- disallowFullBlockingGC
- Boolean
true per omettere un'operazione completa di Garbage Collection bloccante se inizialmente il Garbage Collector non è in grado di allocare la memoria specificata nell'heap di oggetti (SOH) e LOH; in caso contrario, false.
Valori restituiti
true se il runtime è stato in grado di eseguire il commit della quantità di memoria richiesta e il Garbage Collector è in grado di accedere a nessuna modalità di latenza dell'area GC; in caso contrario, false.
- Attributi
Eccezioni
totalSize
-
lohSize supera le dimensioni del segmento temporaneo.
Il processo non è già in modalità di latenza dell'area GC.
Commenti
Il TryStartNoGCRegion(Int64, Int64, Boolean) metodo tenta di posizionare il Garbage Collector in nessuna modalità di latenza dell'area GC, che impedisce l'operazione di Garbage Collection mentre un'app esegue un'area critica del codice. Se il runtime non è in grado di allocare inizialmente la quantità di memoria richiesta e l'argomento disallowFullBlockingGC è false, il Garbage Collector esegue un'operazione completa di Garbage Collection bloccante in un tentativo di liberare memoria aggiuntiva; in caso contrario, l'allocazione non riesce e il metodo restituisce false. Il Garbage Collector non entra in modalità di latenza dell'area GC se è in grado di allocare lohSize loH e totalSize - lohSize per l'heap di oggetti di piccole dimensioni (SOH).
lohSize deve essere sufficientemente grande da gestire tutte le allocazioni di memoria che si verificano nel percorso critico per loH e totalSize - lohSize deve essere sufficientemente grande da gestire tutte le allocazioni di memoria che si verificano nel percorso critico per il soH. Sono incluse le allocazioni dall'app, nonché le allocazioni eseguite dal runtime per conto dell'app.
L'impostazione disallowFullBlockingGC di su true per evitare un'operazione completa di Garbage Collection bloccante se inizialmente è disponibile memoria insufficiente è particolarmente utile negli scenari di bilanciamento del carico: un sistema può chiamare questo metodo e segnalare se è pronto ad accettare le richieste se restituisce truee fare in modo che le richieste di reindirizzamento del servizio di bilanciamento del carico ad altri sistemi se restituisce false. Può quindi eseguire un'operazione completa di Garbage Collection bloccante quando non gestisce le richieste chiamando il Collect(Int32, GCCollectionMode, Boolean, Boolean) metodo .
Importante
Non è possibile annidare le chiamate al metodo TryStartNoGCRegion, e dovresti chiamare il metodo EndNoGCRegion solo se il runtime è attualmente in modalità di latenza della regione senza GC. In altre parole, non è consigliabile chiamare TryStartNoGCRegion più volte (dopo la prima chiamata al metodo, le chiamate successive non avranno esito positivo) e non ci si dovrebbe aspettare che le chiamate EndNoGCRegion abbiano esito positivo solo perché la prima chiamata a TryStartNoGCRegion ha avuto esito positivo.
Per uscire dalla modalità di latenza dell'area GC, chiamare il EndNoGCRegion metodo .
Vedi anche
Si applica a
TryStartNoGCRegion(Int64, Int64)
- Origine:
- GC.CoreCLR.cs
- Origine:
- GC.CoreCLR.cs
- Origine:
- GC.CoreCLR.cs
- Origine:
- GC.CoreCLR.cs
- Origine:
- GC.CoreCLR.cs
Tenta di impedire l'operazione di Garbage Collection durante l'esecuzione di un percorso critico se è disponibile una quantità specificata di memoria per l'heap di oggetti di grandi dimensioni e l'heap di oggetti di piccole dimensioni.
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
Parametri
- totalSize
- Int64
Quantità di memoria in byte da allocare senza attivare un'operazione di Garbage Collection.
totalSize
-
lohSize deve essere minore o uguale alla dimensione di un segmento temporaneo. Per informazioni sulle dimensioni di un segmento temporaneo, vedere la sezione "Generazioni e segmenti temporanei" nell'articolo Concetti fondamentali di Garbage Collection .
- lohSize
- Int64
Numero di byte in da usare per le allocazioni di heap oggetti di grandi dimensioni.The number of bytes in totalSize to use for large object heap (LOH) allocations.
Valori restituiti
true se il runtime è stato in grado di eseguire il commit della quantità di memoria richiesta e il Garbage Collector è in grado di accedere a nessuna modalità di latenza dell'area GC; in caso contrario, false.
- Attributi
Eccezioni
totalSize
-
lohSize supera le dimensioni del segmento temporaneo.
Il processo non è già in modalità di latenza dell'area GC.
Commenti
Il TryStartNoGCRegion(Int64, Int64) metodo tenta di posizionare il Garbage Collector in nessuna modalità di latenza dell'area GC, che impedisce l'operazione di Garbage Collection mentre un'app esegue un'area critica del codice. Se il runtime non è in grado di allocare inizialmente la quantità di memoria richiesta, il Garbage Collector esegue un'operazione completa di Garbage Collection bloccante in un tentativo di liberare memoria aggiuntiva. Il Garbage Collector non entra in modalità di latenza dell'area GC se è in grado di allocare lohSize loH e totalSize - lohSize per l'heap di oggetti di piccole dimensioni (SOH).
lohSize deve essere sufficientemente grande da gestire tutte le allocazioni di memoria che si verificano nel percorso critico per loH e totalSize - lohSize deve essere sufficientemente grande da gestire tutte le allocazioni di memoria che si verificano nel percorso critico per il soH. Sono incluse le allocazioni dall'app, nonché le allocazioni eseguite dal runtime per conto dell'app.
Importante
Non è possibile annidare le chiamate al metodo TryStartNoGCRegion, e dovresti chiamare il metodo EndNoGCRegion solo se il runtime è attualmente in modalità di latenza della regione senza GC. In altre parole, non è consigliabile chiamare TryStartNoGCRegion più volte (dopo la prima chiamata al metodo, le chiamate successive non avranno esito positivo) e non ci si dovrebbe aspettare che le chiamate EndNoGCRegion abbiano esito positivo solo perché la prima chiamata a TryStartNoGCRegion ha avuto esito positivo.
Per uscire dalla modalità di latenza dell'area GC, chiamare il EndNoGCRegion metodo .
Vedi anche
Si applica a
TryStartNoGCRegion(Int64, Boolean)
- Origine:
- GC.CoreCLR.cs
- Origine:
- GC.CoreCLR.cs
- Origine:
- GC.CoreCLR.cs
- Origine:
- GC.CoreCLR.cs
- Origine:
- GC.CoreCLR.cs
Tenta di impedire l'operazione di Garbage Collection durante l'esecuzione di un percorso critico se è disponibile una quantità specificata di memoria e controlla se il Garbage Collector esegue un'operazione completa di Garbage Collection bloccando se inizialmente non è disponibile memoria sufficiente.
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
Parametri
- totalSize
- Int64
Quantità di memoria in byte da allocare senza attivare un'operazione di Garbage Collection. Deve essere minore o uguale alla dimensione di un segmento temporaneo. Per informazioni sulle dimensioni di un segmento temporaneo, vedere la sezione "Generazioni e segmenti temporanei" nell'articolo Concetti fondamentali di Garbage Collection .
- disallowFullBlockingGC
- Boolean
true per omettere un'operazione completa di Garbage Collection bloccando se inizialmente il Garbage Collector non è in grado di allocare totalSize byte; in caso contrario, false.
Valori restituiti
true se il runtime è stato in grado di eseguire il commit della quantità di memoria richiesta e il Garbage Collector è in grado di accedere a nessuna modalità di latenza dell'area GC; in caso contrario, false.
- Attributi
Eccezioni
totalSize supera le dimensioni del segmento temporaneo.
Il processo non è già in modalità di latenza dell'area GC.
Commenti
Il TryStartNoGCRegion(Int64, Boolean) metodo tenta di posizionare il Garbage Collector in nessuna modalità di latenza dell'area GC, che impedisce l'operazione di Garbage Collection mentre un'app esegue un'area critica del codice. Se il runtime non è in grado di allocare inizialmente la quantità di memoria richiesta e l'argomento disallowFullBlockingGC è false, il Garbage Collector esegue un'operazione completa di Garbage Collection bloccante in un tentativo di liberare memoria aggiuntiva; in caso contrario, l'allocazione non riesce e il metodo restituisce false. Il Garbage Collector non entra in modalità di latenza dell'area GC se è in grado di allocare la quantità di memoria richiesta, che in questo caso è effettivamente 2 * totalSize (tenta di allocare totalSize per l'heap di oggetti di piccole dimensioni e totalSize per l'heap di oggetti di grandi dimensioni).
totalSize deve essere sufficientemente grande da gestire tutte le allocazioni di memoria che si verificano nel percorso critico. Sono incluse le allocazioni dall'app, nonché le allocazioni eseguite dal runtime per conto dell'app.
L'impostazione disallowFullBlockingGC di su true per evitare un'operazione completa di Garbage Collection bloccante se inizialmente è disponibile memoria insufficiente è particolarmente utile negli scenari di bilanciamento del carico: un sistema può chiamare questo metodo e segnalare se è pronto ad accettare le richieste se restituisce truee fare in modo che le richieste di reindirizzamento del servizio di bilanciamento del carico ad altri sistemi se restituisce false. Può quindi eseguire un'operazione completa di Garbage Collection bloccante quando non gestisce le richieste chiamando il Collect(Int32, GCCollectionMode, Boolean, Boolean) metodo .
Importante
Non è possibile annidare le chiamate al metodo TryStartNoGCRegion, e dovresti chiamare il metodo EndNoGCRegion solo se il runtime è attualmente in modalità di latenza della regione senza GC. In altre parole, non è consigliabile chiamare TryStartNoGCRegion più volte (dopo la prima chiamata al metodo, le chiamate successive non avranno esito positivo) e non ci si dovrebbe aspettare che le chiamate EndNoGCRegion abbiano esito positivo solo perché la prima chiamata a TryStartNoGCRegion ha avuto esito positivo.
Per uscire dalla modalità di latenza dell'area GC, chiamare il EndNoGCRegion metodo .
Vedi anche
Si applica a
TryStartNoGCRegion(Int64)
- Origine:
- GC.CoreCLR.cs
- Origine:
- GC.CoreCLR.cs
- Origine:
- GC.CoreCLR.cs
- Origine:
- GC.CoreCLR.cs
- Origine:
- GC.CoreCLR.cs
Tenta di impedire l'operazione di Garbage Collection durante l'esecuzione di un percorso critico se è disponibile una quantità di memoria specificata.
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
Parametri
- totalSize
- Int64
Quantità di memoria in byte da allocare senza attivare un'operazione di Garbage Collection. Deve essere minore o uguale alla dimensione di un segmento temporaneo. Per informazioni sulle dimensioni di un segmento temporaneo, vedere la sezione "Generazioni e segmenti temporanei" nell'articolo Concetti fondamentali di Garbage Collection .
Valori restituiti
true se il runtime è stato in grado di eseguire il commit della quantità di memoria richiesta e il Garbage Collector è in grado di accedere a nessuna modalità di latenza dell'area GC; in caso contrario, false.
- Attributi
Eccezioni
totalSize supera le dimensioni del segmento temporaneo.
Il processo non è già in modalità di latenza dell'area GC.
Commenti
Il TryStartNoGCRegion(Int64) metodo tenta di posizionare il Garbage Collector in nessuna modalità di latenza dell'area GC, che impedisce l'operazione di Garbage Collection mentre un'app esegue un'area critica del codice. Se il runtime non è in grado di allocare inizialmente la quantità di memoria richiesta, il Garbage Collector esegue un'operazione completa di Garbage Collection bloccante in un tentativo di liberare memoria aggiuntiva. Il Garbage Collector non entra in modalità di latenza dell'area GC se è in grado di allocare la quantità di memoria richiesta, che in questo caso è effettivamente di 2 * totalSize byte (tenta di allocare totalSize byte per l'heap di oggetti di piccole dimensioni e totalSize byte per l'heap di oggetti di grandi dimensioni).
totalSize deve essere sufficientemente grande da gestire tutte le allocazioni di memoria che si verificano nel percorso critico. Sono incluse le allocazioni dall'app, nonché le allocazioni eseguite dal runtime per conto dell'app.
Importante
Non è possibile annidare le chiamate al metodo TryStartNoGCRegion, e dovresti chiamare il metodo EndNoGCRegion solo se il runtime è attualmente in modalità di latenza della regione senza GC. In altre parole, non è consigliabile chiamare TryStartNoGCRegion più volte (dopo la prima chiamata al metodo, le chiamate successive non avranno esito positivo) e non ci si dovrebbe aspettare che le chiamate EndNoGCRegion abbiano esito positivo solo perché la prima chiamata a TryStartNoGCRegion ha avuto esito positivo.
Per uscire dalla modalità di latenza dell'area GC, chiamare il EndNoGCRegion metodo .