Metodo Context::Block

Blocca la richiesta corrente.

_CRTIMP static void __cdecl Block();

Note

Tale metodo determinerà la creazione dell'utilità di pianificazione predefinita del processo e/o il collegamento al contesto di chiamata se non vi è alcuna utilità di pianificazione associata attualmente al contesto di chiamata.

Se il contesto di chiamata viene eseguito su un processore virtuale, il processore virtuale troverà un altro contesto eseguibile da eseguire o potrebbe crearne potenzialmente uno nuovo.

Una volta che il metodo Block è stato chiamato o sarà chiamato, è necessario abbinarlo con una chiamata al metodo Unblock da un altro contesto di esecuzione per essere eseguito nuovamente. Tenere presente che esiste un periodo critico tra il punto in cui il codice pubblica il contesto affinché un altro thread sia in grado di chiamare il metodo Unblock e il punto in cui viene effettuata la chiamata effettiva al metodo Block. Durante questo periodo, è imperativo non chiamare alcun metodo che possa a sua volta bloccarsi e sbloccarsi per suoi motivi (ad esempio: acquisendo un blocco). Le chiamate al metodo Block e Unblock non localizzano il motivo del blocco e dello sblocco. Solo un oggetto deve disporre della proprietà di una coppia Block-Unblock.

Tale metodo potrebbe generare una varietà di eccezioni, incluse scheduler_resource_allocation_error.

Requisiti

Header: concrt.h

Spazio dei nomi: Concurrency

Vedere anche

Riferimenti

Classe Context

Metodo Context::Unblock

Concetti

Utilità di pianificazione (runtime di concorrenza)