Bagikan melalui


Fungsi SwitchToThread (processthreadsapi.h)

Menyebabkan utas panggilan menghasilkan eksekusi ke utas lain yang siap dijalankan pada prosesor saat ini. Sistem operasi memilih utas berikutnya yang akan dijalankan.

Sintaks

BOOL SwitchToThread();

Mengembalikan nilai

Jika memanggil fungsi SwitchToThread menyebabkan sistem operasi beralih eksekusi ke utas lain, nilai yang dikembalikan bukan nol.

Jika tidak ada utas lain yang siap dijalankan, sistem operasi tidak mengalihkan eksekusi ke utas lain, dan nilai yang dikembalikan adalah nol.

Keterangan

Hasil eksekusi berlaku hingga satu ikatan waktu penjadwalan utas pada prosesor utas panggilan. Sistem operasi tidak akan mengalihkan eksekusi ke prosesor lain, bahkan jika prosesor tersebut menganggur atau menjalankan utas dengan prioritas yang lebih rendah.

Setelah ikatan waktu rangkaian menghasilkan berlalu, sistem operasi menjadwalkan ulang eksekusi untuk utas hasil. Penjadwalan ulang ditentukan oleh prioritas utas hasil dan status utas lain yang tersedia untuk dijalankan.

Perhatikan bahwa sistem operasi tidak akan beralih ke utas yang dicegah agar tidak berjalan hanya dengan kontrol konkurensi. Misalnya, port penyelesaian I/O atau kumpulan utas membatasi jumlah utas terkait yang dapat berjalan. Jika jumlah maksimum utas sudah berjalan, tidak ada utas terkait tambahan yang dapat berjalan hingga utas yang sedang berjalan selesai. Jika utas menggunakan SwitchToThread untuk menunggu salah satu utas terkait tambahan untuk menyelesaikan beberapa pekerjaan, prosesnya mungkin akan mengalami kebuntuan.

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

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 pada Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2)
Pustaka Kernel32.lib
DLL Kernel32.dll

Lihat juga

Fungsi Proses dan Utas

SuspendThread

Menangguhkan Eksekusi Utas

Threads