Bagikan melalui


Fungsi SuspendThread (processthreadsapi.h)

Menangguhkan utas yang ditentukan.

Aplikasi 64-bit dapat menangguhkan utas WOW64 menggunakan fungsi Wow64SuspendThread .

Sintaks

DWORD SuspendThread(
  [in] HANDLE hThread
);

Parameter

[in] hThread

Handel ke utas yang akan ditangguhkan.

Handel harus memiliki hak akses THREAD_SUSPEND_RESUME . Untuk informasi selengkapnya, lihat Keamanan Utas dan Hak Akses.

Nilai kembali

Jika fungsi berhasil, nilai yang dikembalikan adalah jumlah penangguhan utas sebelumnya; jika tidak, itu adalah (DWORD) -1. Untuk mendapatkan informasi kesalahan yang diperluas, gunakan fungsi GetLastError .

Keterangan

Jika fungsi berhasil, eksekusi utas yang ditentukan ditangguhkan dan jumlah penangguhan utas bertahap. Menangguhkan utas menyebabkan utas berhenti mengeksekusi kode mode pengguna (aplikasi).

Fungsi ini terutama dirancang untuk digunakan oleh debugger. Ini tidak dimaksudkan untuk digunakan untuk sinkronisasi utas. Memanggil SuspendThread pada utas yang memiliki objek sinkronisasi, seperti mutex atau bagian penting, dapat menyebabkan kebuntuan jika utas panggilan mencoba mendapatkan objek sinkronisasi yang dimiliki oleh utas yang ditangguhkan. Untuk menghindari situasi ini, utas dalam aplikasi yang bukan debugger harus menandakan utas lain untuk menangguhkan dirinya sendiri. Utas target harus dirancang untuk watch sinyal ini dan merespons dengan tepat.

Setiap utas memiliki jumlah penangguhan (dengan nilai maksimum MAXIMUM_SUSPEND_COUNT). Jika jumlah suspensi lebih besar dari nol, utas ditangguhkan; jika tidak, utas tidak ditangguhkan dan memenuhi syarat untuk dieksekusi. Memanggil SuspendThread menyebabkan jumlah penangguhan utas target bertambah. Mencoba untuk meningkatkan melewati jumlah penangguhan maksimum menyebabkan kesalahan tanpa menaikkan jumlah.

Fungsi ResumeThread mengurangi jumlah penangguhan utas yang ditangguhkan.

Windows Phone 8.1: Fungsi ini didukung untuk aplikasi Windows Phone Store di Windows Phone 8.1 dan yang lebih baru.

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 pada Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2)
Pustaka Kernel32.lib; WindowsPhoneCore.lib di Windows Phone 8.1
DLL Kernel32.dll; KernelBase.dll pada Windows Phone 8.1

Lihat juga

OpenThread

Fungsi Proses dan Utas

ResumeThread

Menangguhkan Eksekusi Utas

Threads