Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Принудительное завершение метода


Автор: Kolovorot 28.2.2011, 09:26
Нужно что бы метод завершался, если он выполняется дольше определенного времени. Как это можно сделать?

Автор: jonie 28.2.2011, 10:27
Создавать поток, где и запускать метод. В поток передавать ManualResetEvent (MRE). По окончании метода сигналить в MRE. В основном же потоке ожидать определенное время этот MRE и если вышли по таймауту, то грохнуть Thread (Thread.Interrupt - но читайте про это -- как правильно убивать потоки и что может получится).

В любом случае любое убивание потока из вне - это верный путь к утечке ресурсов.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)