У меня есть поток, который просто изгоняет. Мне бы хотелось узнать, кто убивает мой поток и почему.
Мне кажется, что мой поток убит ОС, но я хотел бы подтвердить это и, если возможно, узнать, почему он его убил.
Что касается потока, я могу утверждать, что он имеет как минимум 40 минут выполнения перед смертью, но он внезапно умирает около 5 минут.
public void RunWorker()
{
Thread worker = new Thread(delegate()
{
try
{
DoSomethingForALongLongTime();
}
catch(Exception e)
{
//Nothing is never logged :(
LogException(e);
throw e;
}
});
worker.IsBackground = true;
worker.SetApartmentState(System.Threading.ApartmentState.STA);
worker.Start();
}
EDIT: адресация ответов
- Попробуйте/поймать Возможные исключения:
Он реализован и ничего не ловит: ( - Главная тема умирает:
Этот поток создается веб-сервером, который продолжает работать - Завершение работы:
Работа не завершена, так как она, наконец, влияет на базу данных, я могу проверить, было ли это сделано или нет, когда поток умирает.
Подумав об этих вещах, я довел меня до этого вопроса, кто убивает мои темы?
пс. Это не леди Голдент в гостиной со свечной палочкой:)