Re[4]: Остановить зависший поток
От: Nikolay_P_I  
Дата: 05.10.10 09:40
Оценка:
N_P>>Не очень понятно, что автор имел ввиду под "нативная" — если unmanaged — плевала она на домены.
N_P>>Запускать второй процесс, общаться с ним, мониторить, грохать и поднимать. Кто его знает — в каком оно состоянии после зависания окажется.
D>+1
D>вызов AppDomain.Unload(_ad); также уходит в себя.
D>мда, видимо придется в отдельном процессе запускать
D>представляете, так есть система с достаточно обширной архитектурой, и в нескольких местах идет обращение к unmanaged dll. Как теперь всё это вынести в отдельный процесс, который потянет в себе множество дллок, сложно представить.

Это самый правильный способ. Другое дело, что, например, мы в похожей ситуации ограничивались запуском потока с ограничением на максимальное время выполнения — там есть такая перегрузка. Это проще, но не всегда годится, и не гарантирует, что после первой аварии все нормально будет работать при следующих вызовах. Смотрите по ситуации.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.