Condividi tramite


Funzione set_task_execution_resources

Limita le risorse di esecuzione utilizzate dai thread di lavoro interni del runtime di concorrenza al set di affinità specificato.

È valido chiamare questo metodo solo prima che il Gestione Risorse sia stato creato, né tra due cicli di vita di Gestione risorse. Può essere chiamato più volte fino a quando Gestione Risorse non esiste al momento dell'invocazione. Dopo aver impostato un limite di affinità, rimane attiva fino alla successiva chiamata al metodo set_task_execution_resources.

La maschera di affinità fornita non deve essere un sottoinsieme della maschera di affinità del processo. L'affinità del processo verrà aggiornata se necessario.

void __cdecl set_task_execution_resources(
   DWORD_PTR _ProcessAffinityMask
);

void __cdecl set_task_execution_resources(
   unsigned short _Count,
   PGROUP_AFFINITY _PGroupAffinity
);

Parametri

  • _ProcessAffinityMask
    Maschera di affinità dei thread di lavoro del runtime di concorrenza alla quale devono essere limitati. Utilizzare questo metodo in un sistema con più di 64 thread hardware solo se si desidera limitare il runtime di concorrenza a un subset del gruppo di processori correnti. In genere, è necessario utilizzare la versione del metodo che accetta una matrice di affinità di gruppo come parametro, per limitare l'affinità su computer con più di 64 thread hardware.

  • _Count
    Numero di voci GROUP_AFFINITY nella matrice specificata dal parametro _PGroupAffinity.

  • _PGroupAffinity
    Matrice di voci GROUP_AFFINITY.

Note

Il metodo genera un'eccezione invalid_operation se Gestione Risorse è presente nel momento in cui viene invocato e un'eccezione invalid_argument se l'affinità specificata è un set vuoto di risorse.

La versione del metodo che accetta una matrice di affinità di gruppo come parametro deve essere utilizzata solo sui sistemi operativi con versione Windows 7 o superiore. Altrimenti viene generata un'eccezione invalid_operation.

La modifica dell'affinità di processo a livello di codice dopo che questo metodo è stato invocato non fa sì che Gestione Risorse rivaluti l'affinità alla quale ci si è limitati. Pertanto, tutte le modifiche all'affinità di processo devono essere realizzate prima di chiamare questo metodo.

Requisiti

Header: concrt.h

Spazio dei nomi: concorrenza

Vedere anche

Riferimenti

Spazio dei nomi concurrency