Fungsi SetThreadIdealProcessor (processthreadsapi.h)

Mengatur prosesor pilihan untuk utas. Sistem menjadwalkan utas pada prosesor pilihan mereka jika memungkinkan.

Pada sistem dengan lebih dari 64 prosesor, fungsi ini mengatur prosesor pilihan ke prosesor logis dalam grup prosesor tempat utas panggilan ditetapkan. Gunakan fungsi SetThreadIdealProcessorEx untuk menentukan grup prosesor dan prosesor pilihan.

Sintaks

DWORD SetThreadIdealProcessor(
  [in] HANDLE hThread,
  [in] DWORD  dwIdealProcessor
);

Parameter

[in] hThread

Handel ke utas yang prosesor pilihannya akan diatur. Handel harus memiliki hak akses THREAD_SET_INFORMATION. Untuk informasi selengkapnya, lihat Keamanan Utas dan Hak Akses.

[in] dwIdealProcessor

Jumlah prosesor pilihan untuk utas. Nilai ini berbasis nol. Jika parameter ini MAXIMUM_PROCESSORS, fungsi mengembalikan prosesor ideal saat ini tanpa mengubahnya.

Mengembalikan nilai

Jika fungsi berhasil, nilai yang dikembalikan adalah prosesor pilihan sebelumnya.

Jika fungsi gagal, nilai yang dikembalikan adalah (DWORD) – 1. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.

Keterangan

Anda dapat menggunakan fungsi GetSystemInfo untuk menentukan jumlah prosesor di komputer. Anda juga dapat menggunakan fungsi GetProcessAffinityMask untuk memeriksa prosesor tempat utas diizinkan untuk dijalankan. Perhatikan bahwa GetProcessAffinityMask mengembalikan bitmask sedangkan SetThreadIdealProcessor menggunakan nilai bilangan bulat untuk mewakili prosesor.

Dimulai dengan Windows 11 dan Windows Server 2022, pada sistem dengan lebih dari 64 prosesor, proses dan afinitas utas mencakup semua prosesor dalam sistem, di semua grup prosesor, secara default. Fungsi SetThreadIdealProcessor mengatur prosesor pilihan ke prosesor logis di grup utama utas.

Untuk mengkompilasi aplikasi yang menggunakan fungsi ini, tentukan _WIN32_WINNT sebagai 0x0400 atau yang lebih baru. Untuk informasi selengkapnya, lihat Menggunakan Header Windows.

Windows 8.1 dan Windows Server 2012 R2: Fungsi ini didukung untuk aplikasi Windows Store di Windows 8.1, Windows Server 2012 R2, dan yang lebih baru.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2003 [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header processthreadsapi.h (termasuk Windows.h)
Pustaka Kernel32.lib
DLL Kernel32.dll

Lihat juga

GetProcessAffinityMask

GetSystemInfo

Beberapa Prosesor

OpenThread

Fungsi Proses dan Utas

SetThreadAffinityMask

SetThreadIdealProcessorEx

Threads