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 метода в потоке системные заметки о том, что приостановка потока была запрошена и позволяет потоку выполняться до тех пор, пока он не достигнет безопасной точки, прежде чем фактически приостановить поток. Безопасная точка для потока — это точка выполнения, с которой можно выполнить сборку мусора. После достижения безопасной точки среда выполнения гарантирует, что приостановленный поток не будет выполнять дальнейший прогресс в управляемом коде. Поток, выполняющийся вне управляемого кода, всегда является безопасным для сборки мусора, и его выполнение продолжается до тех пор, пока не попытается возобновить выполнение управляемого кода.