Either suspends the thread, or if the thread is already suspended, has no effect.
[Visual Basic] Public Sub Suspend() [C#] public void Suspend(); [C++] public: void Suspend(); [JScript] public function Suspend();
|ThreadStateException||The thread has not been started or is dead.|
|SecurityException||The caller does not have the appropriate SecurityPermission.|
If the thread is already suspended, this method has no effect.
CAUTION Do not use the Suspend and Resume methods to synchronize the activities of threads. You have no way of knowing what code a thread is executing when you suspend it. If you suspend a thread while it holds locks during a security permission evaluation, other threads in the AppDomain might be blocked. If you suspend a thread while it is executing a class constructor, other threads in the AppDomain that attempt to use that class are blocked. Deadlocks can occur very easily.
Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family
.NET Framework Security:
- SecurityPermissionAttribute for advanced operations on threads. Associated enumeration: SecurityPermissionFlag.ControlThread.