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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk