Thread.Suspend Метод

Определение

Внимание

Thread.Suspend has been deprecated. Please use other classes in System.Threading, such as Monitor, Mutex, Event, and Semaphore, to synchronize Threads or protect resources. http://go.microsoft.com/fwlink/?linkid=14202

Внимание

Thread.Suspend has been deprecated. Please use other classes in System.Threading, such as Monitor, Mutex, Event, and Semaphore, to synchronize Threads or protect resources. https://go.microsoft.com/fwlink/?linkid=14202

Либо приостанавливает поток, либо если поток уже приостановлен, не действует.

public:
 void Suspend();
public void Suspend();
[System.Obsolete("Thread.Suspend has been deprecated.  Please use other classes in System.Threading, such as Monitor, Mutex, Event, and Semaphore, to synchronize Threads or protect resources.  http://go.microsoft.com/fwlink/?linkid=14202", false)]
public void Suspend();
[System.Obsolete("Thread.Suspend has been deprecated.  Please use other classes in System.Threading, such as Monitor, Mutex, Event, and Semaphore, to synchronize Threads or protect resources.  https://go.microsoft.com/fwlink/?linkid=14202", false)]
public void Suspend();
member this.Suspend : unit -> unit
[<System.Obsolete("Thread.Suspend has been deprecated.  Please use other classes in System.Threading, such as Monitor, Mutex, Event, and Semaphore, to synchronize Threads or protect resources.  http://go.microsoft.com/fwlink/?linkid=14202", false)>]
member this.Suspend : unit -> unit
[<System.Obsolete("Thread.Suspend has been deprecated.  Please use other classes in System.Threading, such as Monitor, Mutex, Event, and Semaphore, to synchronize Threads or protect resources.  https://go.microsoft.com/fwlink/?linkid=14202", false)>]
member this.Suspend : unit -> unit
Public Sub Suspend ()
Атрибуты

Исключения

Только .NET Core и .NET 5+ : во всех случаях.

Поток не запущен или не мертв.

Вызывающий объект не имеет соответствующего SecurityPermission.

Комментарии

Если поток уже приостановлен, этот метод не действует.

Caution

Не используйте Suspend методы и Resume методы для синхронизации действий потоков. Вы не можете знать, какой код выполняет поток при приостановке. При приостановке потока во время оценки разрешений безопасности могут быть заблокированы другие потоки AppDomain . Если приостанавливать поток во время выполнения конструктора класса, другие потоки в AppDomain попытке использовать этот класс блокируются. Взаимоблокировки могут возникать очень легко.

При вызове Suspend метода в потоке системные заметки о том, что приостановка потока была запрошена и позволяет потоку выполняться до тех пор, пока он не достигнет безопасной точки, прежде чем фактически приостановить поток. Безопасная точка для потока — это точка выполнения, с которой можно выполнить сборку мусора. После достижения безопасной точки среда выполнения гарантирует, что приостановленный поток не будет выполнять дальнейший прогресс в управляемом коде. Поток, выполняющийся вне управляемого кода, всегда является безопасным для сборки мусора, и его выполнение продолжается до тех пор, пока не попытается возобновить выполнение управляемого кода.

Применяется к

См. также раздел