Пожалуйста, скомпилируйте этот код с Visual Studio 2017 (возможно, и с другими версиями) в конфигурациях Debug и Release:
static void Main(string[] args)
{
var thread = new System.Threading.Thread(() =>
{
while (true)
{
try
{
Thread.Sleep(int.MaxValue);
}
catch { }
}
});
thread.Start();
thread.Join(1000);
thread.Abort();
thread.Join();
}
А потом кто-то объясняет мне, почему заканчивается в режиме отладки и приводит к тупику в версии ?
Обновление . Добавление дополнительного блока «catch» исправит это (все еще не знаю почему):
catch (ThreadAbortException) { break; }
Update2 . И что? Ни одна обезьяна не знает ответа?