Condividi tramite


Funzione SuspendThread (processthreadsapi.h)

Sospende il thread specificato.

Un'applicazione a 64 bit può sospendere un thread WOW64 usando la funzione Wow64SuspendThread .

Sintassi

DWORD SuspendThread(
  [in] HANDLE hThread
);

Parametri

[in] hThread

Handle per il thread da sospendere.

L'handle deve avere il diritto di accesso THREAD_SUSPEND_RESUME . Per altre informazioni, vedere Thread Security and Access Rights.For more information, see Thread Security and Access Rights.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è il conteggio di sospensione precedente del thread; in caso contrario, è (DWORD) -1. Per ottenere informazioni sull'errore estese, usare la funzione GetLastError .

Commenti

Se la funzione ha esito positivo, l'esecuzione del thread specificato viene sospesa e il conteggio delle sospensioni del thread viene incrementato. La sospensione di un thread causa l'interruzione dell'esecuzione del codice in modalità utente (applicazione).

Questa funzione è progettata principalmente per l'uso da parte dei debugger. Non è destinato all'uso per la sincronizzazione dei thread. La chiamata a SuspendThread su un thread proprietario di un oggetto di sincronizzazione, ad esempio una sezione mutex o critica, può causare un deadlock se il thread chiamante tenta di ottenere un oggetto di sincronizzazione di proprietà di un thread sospeso. Per evitare questa situazione, un thread all'interno di un'applicazione che non è un debugger deve segnalare all'altro thread di sospendere se stesso. Il thread di destinazione deve essere progettato per watch per questo segnale e rispondere in modo appropriato.

Ogni thread ha un conteggio di sospensione (con un valore massimo di MAXIMUM_SUSPEND_COUNT). Se il conteggio delle sospensioni è maggiore di zero, il thread viene sospeso; in caso contrario, il thread non è sospeso ed è idoneo per l'esecuzione. La chiamata a SuspendThread determina l'incremento del conteggio di sospensione del thread di destinazione. Se si tenta di incrementare oltre il numero massimo di sospensioni, viene generato un errore senza incrementare il conteggio.

La funzione ResumeThread decrementa il conteggio delle sospensioni di un thread sospeso.

Windows Phone 8.1: questa funzione è supportata per Windows Phone app dello Store in Windows Phone 8.1 e versioni successive.

Windows 8.1 e Windows Server 2012 R2: questa funzione è supportata per le app di Windows Store in Windows 8.1, Windows Server 2012 R2 e versioni successive.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [app desktop | App UWP]
Server minimo supportato Windows Server 2003 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione processthreadsapi.h (include Windows.h in Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2)
Libreria Kernel32.lib; WindowsPhoneCore.lib in Windows Phone 8.1
DLL Kernel32.dll; KernelBase.dll Windows Phone 8.1

Vedi anche

OpenThread

Funzioni di processi e thread

ResumeThread

Sospensione dell'esecuzione del thread

Thread