IVirtualProcessorRoot::EnsureAllTasksVisible — Metoda
Powoduje, że dane przechowywane w hierarchii pamięci poszczególne procesory, staną się widoczne dla wszystkich procesorów w systemie.Zapewnia, że horyzont pamięci zostało uruchomione na wszystkich procesorach przed metoda zwraca wartość.
virtual void EnsureAllTasksVisible(
_Inout_ IExecutionContext *pContext
) =0;
Parametry
- pContext
Kontekst, w którym aktualnie jest wysyłane przez ten procesor wirtualny katalog główny.
Uwagi
Tej metody mogą być przydatne, gdy chcesz zsynchronizować dezaktywacji procesora wirtualnego katalogu głównego, z dodaniem nowej pracy do harmonogramu.Ze względu na wydajność może zdecydować o dodawanie elementów pracy na Twój harmonogram bez wykonywania bariery pamięci, co oznacza elementy pracy dodane przez wątek wykonywania na jeden procesor nie są natychmiast widoczne dla wszystkich innych procesorów.Za pomocą tej metody w połączeniu z Deactivate metoda może zapewnić Twój harmonogram nie dezaktywować jego procesora wirtualnego korzenie, podczas gdy elementy pracy istnieje w kolekcji Twój harmonogram.
Wywołanie EnsureAllTasksVisibleThe metody muszą pochodzić z poziomu Dispatch metodę kontekst wykonywania, która z ostatniego uaktywnienia procesora wirtualnego katalogu głównego.Innymi słowy, proxy wątek wywoływania EnsureAllTasksVisible metoda musi być ten, który jest aktualnie wykonywanych na procesor wirtualny katalog główny.Wywołanie metody na procesora wirtualnego katalogu głównego, nie wykonywana na może doprowadzić do niezdefiniowanego zachowania.
invalid_argumentjest generowany, jeśli argument pContext ma wartość NULL.
invalid_operationjest generowany, jeśli nigdy nie została uaktywniona procesora wirtualnego katalogu głównego, albo w argumencie pContext nie reprezentuje kontekst wykonywania, który ostatnio został wysłany przez ten procesor wirtualny katalog główny.
Wymagania
Nagłówek: concrtrm.h
Obszar nazw: współbieżności