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