.NET 7.0 - как прервать поток?

У меня есть многопоточная программа, и при вызове метода Abort() или Suspend(), компилятор выбрасывает PlatformNotSupportedException. Есть ли другие короткие способы приостановить поток? C# 11, .NET 7.0


Ответы (1 шт):

Автор решения: demonplus

Это ожидаемое поведение, Suspend() вызывает PlatformNotSupportedException всегда для .NET Core и .NET 5+.

Вместо этого нужно использовать AutoResetEvent:

Когда нужно просигнализировать об остановке, вызывать

autoResetEvent.Set();

В потоке соответственно использовать:

autoResetEvent.WaitOne();

Еще об этом посмотрите здесь

→ Ссылка