Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Systemy Windows 7 i Windows Server 2008 R2 zawierają następujące nowe elementy programowania dla procesów i wątków.
Nowe możliwości
64-bitowe wersje systemów Windows 7 i Windows Server 2008 R2 obsługują więcej niż 64 procesory logiczne na jednym komputerze. Aby uzyskać więcej informacji, zobacz Grupy procesorów.
Planowanie w trybie użytkownika (UMS) to uproszczony mechanizm, którego aplikacje mogą używać do planowania własnych wątków. Aby uzyskać więcej informacji, zobacz User-Mode Harmonogram.
Nowe funkcje
Następujące nowe funkcje są używane z procesorami i grupami procesorów.
| Funkcja | Opis |
|---|---|
|
CreateRemoteThreadEx |
Tworzy wątek uruchamiany w wirtualnej przestrzeni adresowej innego procesu i opcjonalnie określa atrybuty rozszerzone, takie jak koligacja grupy procesorów. |
|
GetActiveProcessorCount |
Zwraca liczbę aktywnych procesorów w grupie procesorów lub w systemie. |
|
GetActiveProcessorGroupCount |
Zwraca liczbę aktywnych grup procesorów w systemie. |
|
GetCurrentProcessorNumberEx |
Pobiera grupę procesorów i liczbę procesora logicznego, w którym jest uruchomiony wątek wywołujący. |
|
GetLogicalProcessorInformationEx |
Pobiera informacje o relacjach procesorów logicznych i powiązanego sprzętu. |
|
getMaximumProcessorCount |
Zwraca maksymalną liczbę procesorów logicznych, które może mieć grupa procesorów lub system. |
|
GetMaximumProcessorGroupCount |
Zwraca maksymalną liczbę grup procesorów, które może mieć system. |
|
GetNumaAvailableMemoryNodeEx |
Pobiera ilość pamięci dostępnej w określonym węźle jako wartość USHORT. |
|
PobierzNumerWęzłaNumaZUchwytu |
Pobiera węzeł NUMA skojarzony z urządzeniem bazowym na potrzeby dojścia do pliku. |
|
GetNumaNodeProcessorMaskEx |
Pobiera maskę procesora dla określonego węzła NUMA jako wartość USHORT. |
|
GetNumaProcessorNodeEx |
Pobiera numer węzła określonego procesora logicznego jako wartość USHORT. |
|
GetNumaProximityNodeEx |
Pobiera numer węzła w postaci wartości USHORT dla określonego identyfikatora bliskości. |
|
getProcessGroupAffinity |
Pobiera koligację grupy procesorów określonego procesu. |
|
PobierzCzasCykluSystemuProcesora |
Pobiera czas cyklu każdego procesora w określonej grupie, który był poświęcony na obsługę odroczonych wywołań procedur (DPC) oraz procedur obsługi przerwań (ISR). |
|
GetThreadGroupAffinity |
Pobiera przynależność do grupy procesorowej określonego wątku. |
|
GetThreadIdealProcessorEx |
Pobiera numer idealnego procesora dla określonego wątku. |
|
QueryIdleProcessorCycleTimeEx |
Pobiera skumulowany czas cyklu dla wątku bezczynności dla każdego procesora logicznego w określonej grupie procesorów. |
|
SetThreadGroupAffinity |
Ustawia koligację grupy procesorów dla określonego wątku. |
|
SetThreadIdealProcessorEx |
Ustawia idealny procesor dla określonego wątku i opcjonalnie pobiera poprzedni idealny procesor. |
Następujące nowe funkcje są używane z pulami wątków.
| Funkcja | Opis |
|---|---|
|
QueryThreadpoolStackInformation |
Pobiera rozmiary rezerw i zatwierdzeń stosu dla wątków w określonej puli wątków. |
|
SetThreadpoolCallbackPersistent |
Określa, że wywołanie zwrotne powinno być uruchamiane w stałym wątku. |
|
SetThreadpoolCallbackPriority |
Określa priorytet funkcji wywołania zwrotnego w odniesieniu do innych zadań w tej samej puli wątków. |
|
SetThreadpoolStackInformation |
Ustawia rozmiar przestrzeni i przydziału stosu dla nowych wątków w określonej puli wątków. |
Następujące nowe funkcje są używane z usługą UMS.
| Funkcja | Opis |
|---|---|
|
CreateUmsCompletionList |
Tworzy listę uzupełnień UMS. |
|
CreateUmsThreadContext |
Tworzy kontekst wątku UMS reprezentujący wątek procesu roboczego UMS. |
|
DeleteUmsCompletionList |
Usuwa określoną listę ukończenia UMS. Lista musi być pusta. |
|
DeleteUmsThreadContext |
Usuwa określony kontekst wątku UMS. Wątek musi zostać zakończony. |
|
DequeueUmsCompletionListItems |
Pobiera wątki procesów roboczych UMS z określonej listy uzupełniania usługi UMS. |
|
Włącz tryb planowania UMS |
Konwertuje wątek wywołujący na wątek harmonogramu UMS. |
|
ExecuteUmsThread |
Uruchamia określony wątek roboczy UMS. |
|
GetCurrentUmsThread |
Zwraca kontekst wątku UMS wywołującego wątku UMS. |
|
GetNextUmsListItem |
Zwraca następny kontekst wątku UMS na liście kontekstów wątku UMS. |
|
GetUmsCompletionListEvent |
Pobiera dojście do zdarzenia skojarzonego z określoną listą uzupełniania usługi UMS. |
|
QueryUmsThreadInformation |
Pobiera informacje o określonym wątku procesu roboczego usługi UMS. |
|
SetUmsThreadInformation |
Ustawia informacje kontekstowe specyficzne dla aplikacji dla określonego wątku roboczego usługi UMS. |
|
UmsSchedulerProc |
Funkcja punktu wejścia zdefiniowana przez aplikację, związana z harmonogramem UMS i skojarzona z listą zakończenia UMS. |
|
UmsThreadYield |
Daje kontrolę nad wątkiem harmonogramu usługi UMS, na którym jest uruchomiony wątek wywołujący proces roboczy usługi UMS. |
Nowe struktury
| Struktura | Opis |
|---|---|
|
CACHE_RELATIONSHIP |
Opisuje atrybuty pamięci podręcznej. |
|
GROUP_AFFINITY |
Zawiera koligację specyficzną dla grupy procesora, taką jak koligacja wątku. |
|
RELACJA_GRUPOWA |
Zawiera informacje o grupach procesorów. |
|
relacja_węzła_NUMA |
Zawiera informacje o węźle NUMA w grupie procesorów. |
|
INFORMACJE_O_GRUPIE_PROCESORÓW |
Zawiera liczbę i koligację procesorów w grupie procesorów. |
|
PROCESSOR_NUMBER |
Reprezentuje procesor logiczny w grupie procesorów. |
|
PROCESSOR_RELATIONSHIP |
Zawiera informacje o koligacji w grupie procesorów. |
|
SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX |
Zawiera informacje o relacjach procesorów logicznych i powiązanego sprzętu. |
|
UMS_CREATE_THREAD_ATTRIBUTES |
Określa atrybuty wątku roboczego usługi UMS. |
|
UMS_SCHEDULER_STARTUP_INFO |
Określa atrybuty wątku harmonogramu UMS |