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.
Prova a impedire l'operazione di Garbage Collection durante l'esecuzione di un percorso critico.
Overload
TryStartNoGCRegion(Int64, Int64, Boolean) |
Prova a impedire l'operazione di Garbage Collection durante l'esecuzione di un percorso critico se è disponibile una quantità specificata di memoria per gli heap degli oggetti grandi e degli oggetti piccoli; controlla inoltre se il Garbage Collector esegue un'operazione completa di Garbage Collection bloccante se inizialmente non è disponibile memoria sufficiente. |
TryStartNoGCRegion(Int64, Int64) |
Prova a impedire l'operazione di Garbage Collection durante l'esecuzione di un percorso critico se è disponibile una quantità specificata di memoria per gli heap degli oggetti grandi e degli oggetti piccoli. |
TryStartNoGCRegion(Int64, Boolean) |
Prova a impedire l'operazione di Garbage Collection durante l'esecuzione di un percorso critico se è disponibile una quantità specificata di memoria; controlla inoltre se il Garbage Collector esegue un'operazione completa di Garbage Collection bloccante se inizialmente non è disponibile memoria sufficiente. |
TryStartNoGCRegion(Int64) |
Prova a impedire l'operazione di Garbage Collection durante l'esecuzione di un percorso critico se è disponibile una quantità specificata di memoria. |
Commenti
Importante
Non è possibile annidare le chiamate al TryStartNoGCRegion metodo e chiamare il EndNoGCRegion metodo solo se il runtime non è attualmente in modalità di latenza dell'area 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 è consigliabile che le chiamate EndNoGCRegion abbiano esito positivo solo perché la prima chiamata a TryStartNoGCRegion ha avuto esito positivo.
TryStartNoGCRegion(Int64, Int64, Boolean)
Prova a impedire l'operazione di Garbage Collection durante l'esecuzione di un percorso critico se è disponibile una quantità specificata di memoria per gli heap degli oggetti grandi e degli oggetti piccoli; controlla inoltre se il Garbage Collector esegue un'operazione completa di Garbage Collection bloccante 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 alle dimensioni di un segmento temporaneo. Per informazioni sulle dimensioni di un segmento temporaneo, vedere la sezione "Generazioni e segmenti temporanei" nell'articolo Principi fondamentali di Garbage Collection.
- lohSize
- Int64
Numero di byte in totalSize
da usare per allocazioni di heap degli oggetti grandi (LOH).
- disallowFullBlockingGC
- Boolean
true
per omettere un'operazione completa di Garbage Collection bloccante se il Garbage Collector non è inizialmente in grado di allocare la memoria specificata nell'heap degli oggetti piccoli (SOH) e degli oggetti grandi (LOH); in caso contrario, false
.
Restituisce
true
se il runtime è riuscito a eseguire il commit della quantità di memoria richiesta e il Garbage Collector può accedere alla modalità di eliminazione della latenza delle aree di Garbage Collection; in caso contrario, false
.
- Attributi
Eccezioni
totalSize
- lohSize
supera le dimensioni del segmento temporaneo.
Il processo è già in modalità di eliminazione della latenza delle aree di Garbage Collection.
Commenti
Il TryStartNoGCRegion(Int64, Int64, Boolean) metodo tenta di posizionare il Garbage Collector in nessuna modalità di latenza dell'area GC, che non consente 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 di Garbage Collection di blocco completa 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
per 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 file 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 di Garbage Collection di blocco completa se inizialmente non è disponibile memoria sufficiente è particolarmente utile negli scenari di bilanciamento del carico: un sistema può chiamare questo metodo e segnalare se è pronto ad accettare le richieste se restituisce true
e chiedere al servizio di bilanciamento del carico di reindirizzare le richieste 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 TryStartNoGCRegion metodo e chiamare il EndNoGCRegion metodo solo se il runtime non è attualmente in modalità di latenza dell'area 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 è consigliabile 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)
Prova a impedire l'operazione di Garbage Collection durante l'esecuzione di un percorso critico se è disponibile una quantità specificata di memoria per gli heap degli oggetti grandi e degli oggetti piccoli.
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 alle dimensioni di un segmento temporaneo. Per informazioni sulle dimensioni di un segmento temporaneo, vedere la sezione "Generazioni e segmenti temporanei" nell'articolo Principi fondamentali di Garbage Collection.
- lohSize
- Int64
Numero di byte in totalSize
da usare per allocazioni di heap degli oggetti grandi (LOH).
Restituisce
true
se il runtime è riuscito a eseguire il commit della quantità di memoria richiesta e il Garbage Collector può accedere alla modalità di eliminazione della latenza delle aree di Garbage Collection; in caso contrario, false
.
- Attributi
Eccezioni
totalSize
- lohSize
supera le dimensioni del segmento temporaneo.
Il processo è già in modalità di eliminazione della latenza delle aree di Garbage Collection.
Commenti
Il TryStartNoGCRegion(Int64, Int64) metodo tenta di posizionare il Garbage Collector in nessuna modalità di latenza dell'area GC, che non consente 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 di Garbage Collection di blocco completa 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
per 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 file SOH. Sono incluse le allocazioni dall'app, nonché le allocazioni eseguite dal runtime per conto dell'app.
Importante
Non è possibile annidare le chiamate al TryStartNoGCRegion metodo e chiamare il EndNoGCRegion metodo solo se il runtime non è attualmente in modalità di latenza dell'area 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 è consigliabile 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)
Prova a impedire l'operazione di Garbage Collection durante l'esecuzione di un percorso critico se è disponibile una quantità specificata di memoria; controlla inoltre se il Garbage Collector esegue un'operazione completa di Garbage Collection bloccante 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 alle dimensioni di un segmento temporaneo. Per informazioni sulle dimensioni di un segmento temporaneo, vedere la sezione "Generazioni e segmenti temporanei" nell'articolo Principi fondamentali di Garbage Collection.
- disallowFullBlockingGC
- Boolean
true
per omettere un'operazione completa di Garbage Collection bloccante se il Garbage Collector non è inizialmente in grado di allocare totalSize
byte; in caso contrario, false
.
Restituisce
true
se il runtime è riuscito a eseguire il commit della quantità di memoria richiesta e il Garbage Collector può accedere alla modalità di eliminazione della latenza delle aree di Garbage Collection; in caso contrario, false
.
- Attributi
Eccezioni
totalSize
supera le dimensioni del segmento temporaneo.
Il processo è già in modalità di eliminazione della latenza delle aree di Garbage Collection.
Commenti
Il TryStartNoGCRegion(Int64, Boolean) metodo tenta di posizionare il Garbage Collector in nessuna modalità di latenza dell'area GC, che non consente 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 di Garbage Collection di blocco completa 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 per 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 di Garbage Collection di blocco completa se inizialmente non è disponibile memoria sufficiente è particolarmente utile negli scenari di bilanciamento del carico: un sistema può chiamare questo metodo e segnalare se è pronto ad accettare le richieste se restituisce true
e chiedere al servizio di bilanciamento del carico di reindirizzare le richieste 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 TryStartNoGCRegion metodo e chiamare il EndNoGCRegion metodo solo se il runtime non è attualmente in modalità di latenza dell'area 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 è consigliabile 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)
Prova a impedire l'operazione di Garbage Collection durante l'esecuzione di un percorso critico se è disponibile una quantità specificata di memoria.
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 alle dimensioni di un segmento temporaneo. Per informazioni sulle dimensioni di un segmento temporaneo, vedere la sezione "Generazioni e segmenti temporanei" nell'articolo Principi fondamentali di Garbage Collection.
Restituisce
true
se il runtime è riuscito a eseguire il commit della quantità di memoria richiesta e il Garbage Collector può accedere alla modalità di eliminazione della latenza delle aree di Garbage Collection; in caso contrario, false
.
- Attributi
Eccezioni
totalSize
supera le dimensioni del segmento temporaneo.
Il processo è già in modalità di eliminazione della latenza delle aree di Garbage Collection.
Commenti
Il TryStartNoGCRegion(Int64) metodo tenta di posizionare il Garbage Collector in nessuna modalità di latenza dell'area GC, che non consente 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 di Garbage Collection di blocco completa 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 necessaria, che in questo caso è effettivamente di 2 * totalSize
byte (tenta di allocare totalSize
byte per l'heap di oggetti piccoli e totalSize
byte per l'heap di oggetti di grandi dimensioni).
totalSize
deve essere sufficientemente grande per 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 TryStartNoGCRegion metodo e chiamare il EndNoGCRegion metodo solo se il runtime non è attualmente in modalità di latenza dell'area 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 è consigliabile 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 .