Apa yang Baru dalam Proses dan Utas
Windows 7 dan Windows Server 2008 R2 menyertakan elemen pemrograman baru berikut untuk proses dan utas.
Kapabilitas Baru
Versi 64-bit Windows 7 dan Windows Server 2008 R2 mendukung lebih dari 64 prosesor logis pada satu komputer. Untuk informasi selengkapnya, lihat Grup Prosesor.
Penjadwalan mode pengguna (UMS) adalah mekanisme ringan yang dapat digunakan aplikasi untuk menjadwalkan utas mereka sendiri. Untuk informasi selengkapnya, lihat Penjadwalan Mode Pengguna.
Fungsi Baru
Fungsi baru berikut digunakan dengan prosesor dan grup prosesor.
Fungsi | Deskripsi |
---|---|
CreateRemoteThreadEx |
Membuat utas yang berjalan di ruang alamat virtual proses lain dan secara opsional menentukan atribut yang diperluas seperti afinitas grup prosesor. |
GetActiveProcessorCount |
Mengembalikan jumlah prosesor aktif dalam grup prosesor atau dalam sistem. |
GetActiveProcessorGroupCount |
Mengembalikan jumlah grup prosesor aktif dalam sistem. |
GetCurrentProcessorNumberEx |
Mengambil grup prosesor dan jumlah prosesor logis tempat utas panggilan berjalan. |
GetLogicalProcessorInformationEx |
Mengambil informasi tentang hubungan prosesor logis dan perangkat keras terkait. |
GetMaximumProcessorCount |
Mengembalikan jumlah maksimum prosesor logis yang dapat dimiliki oleh grup prosesor atau sistem. |
GetMaximumProcessorGroupCount |
Mengembalikan jumlah maksimum grup prosesor yang dapat dimiliki sistem. |
GetNumaAvailableMemoryNodeEx |
Mengambil jumlah memori yang tersedia dalam simpul yang ditentukan sebagai nilai USHORT. |
GetNumaNodeNumberFromHandle |
Mengambil simpul NUMA yang terkait dengan perangkat yang mendasar untuk handel file. |
GetNumaNodeProcessorMaskEx |
Mengambil masker prosesor untuk simpul NUMA yang ditentukan sebagai nilai USHORT. |
GetNumaProcessorNodeEx |
Mengambil nomor simpul dari prosesor logis yang ditentukan sebagai nilai USHORT. |
GetNumaProximityNodeEx |
Mengambil nomor simpul sebagai nilai USHORT untuk pengidentifikasi kedekatan yang ditentukan. |
GetProcessGroupAffinity |
Mengambil afinitas grup prosesor dari proses yang ditentukan. |
GetProcessorSystemCycleTime |
Mengambil waktu siklus setiap prosesor dalam grup yang ditentukan yang dihabiskan untuk menjalankan panggilan prosedur yang ditangguhkan (DPC) dan mengganggu rutinitas layanan (ISR). |
GetThreadGroupAffinity |
Mengambil afinitas grup prosesor dari utas yang ditentukan. |
GetThreadIdealProcessorEx |
Mengambil nomor prosesor prosesor ideal untuk utas yang ditentukan. |
QueryIdleProcessorCycleTimeEx |
Mengambil akumulasi waktu siklus untuk utas diam pada setiap prosesor logis dalam grup prosesor yang ditentukan. |
SetThreadGroupAffinity |
Mengatur afinitas grup prosesor untuk utas yang ditentukan. |
SetThreadIdealProcessorEx |
Mengatur prosesor ideal untuk utas yang ditentukan dan secara opsional mengambil prosesor ideal sebelumnya. |
Fungsi baru berikut digunakan dengan kumpulan utas.
Fungsi | Deskripsi |
---|---|
QueryThreadpoolStackInformation |
Mengambil cadangan tumpukan dan ukuran penerapan untuk utas di kumpulan utas yang ditentukan. |
SetThreadpoolCallbackPersistent |
Menentukan bahwa panggilan balik harus berjalan pada utas persisten. |
SetThreadpoolCallbackPriority |
Menentukan prioritas fungsi panggilan balik relatif terhadap item kerja lain di kumpulan utas yang sama. |
SetThreadpoolStackInformation |
Mengatur cadangan tumpukan dan ukuran penerapan untuk utas baru di kumpulan utas yang ditentukan. |
Fungsi baru berikut digunakan dengan UMS.
Fungsi | Deskripsi |
---|---|
CreateUmsCompletionList |
Membuat daftar penyelesaian UMS. |
CreateUmsThreadContext |
Membuat konteks utas UMS untuk mewakili utas pekerja UMS. |
DeleteUmsCompletionList |
Menghapus daftar penyelesaian UMS yang ditentukan. Daftar harus kosong. |
DeleteUmsThreadContext |
Menghapus konteks utas UMS yang ditentukan. Utas harus dihentikan. |
DequeueUmsCompletionListItems |
Mengambil utas pekerja UMS dari daftar penyelesaian UMS yang ditentukan. |
EnterUmsSchedulingMode |
Mengonversi utas panggilan menjadi utas penjadwal UMS. |
ExecuteUmsThread |
Menjalankan utas pekerja UMS yang ditentukan. |
GetCurrentUmsThread |
Mengembalikan konteks utas UMS dari utas UMS panggilan. |
GetNextUmsListItem |
Mengembalikan konteks utas UMS berikutnya dalam daftar konteks utas UMS. |
GetUmsCompletionListEvent |
Mengambil handel ke peristiwa yang terkait dengan daftar penyelesaian UMS yang ditentukan. |
QueryUmsThreadInformation |
Mengambil informasi tentang utas pekerja UMS yang ditentukan. |
SetUmsThreadInformation |
Mengatur informasi konteks khusus aplikasi untuk utas pekerja UMS yang ditentukan. |
UmsSchedulerProc |
Fungsi titik entri penjadwal UMS yang ditentukan aplikasi yang terkait dengan daftar penyelesaian UMS. |
UmsThreadYield |
Menghasilkan kontrol ke utas penjadwal UMS tempat utas pekerja UMS panggilan berjalan. |
Struktur Baru
Struktur | Deskripsi |
---|---|
CACHE_RELATIONSHIP |
Menjelaskan atribut cache. |
GROUP_AFFINITY |
Berisi afinitas khusus grup prosesor, seperti afinitas utas. |
GROUP_RELATIONSHIP |
Berisi informasi tentang grup prosesor. |
NUMA_NODE_RELATIONSHIP |
Berisi informasi tentang simpul NUMA dalam grup prosesor. |
PROCESSOR_GROUP_INFO |
Berisi jumlah dan afinitas prosesor dalam grup prosesor. |
PROCESSOR_NUMBER |
Mewakili prosesor logis dalam grup prosesor. |
PROCESSOR_RELATIONSHIP |
Berisi informasi tentang afinitas dalam grup prosesor. |
SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX |
Berisi informasi tentang hubungan prosesor logis dan perangkat keras terkait. |
UMS_CREATE_THREAD_ATTRIBUTES |
Menentukan atribut untuk utas pekerja UMS. |
UMS_SCHEDULER_STARTUP_INFO |
Menentukan atribut untuk utas penjadwal UMS |