Как выйти из всех рабочих потоков?

Следующий код не выходит из приложения. Как я могу выйти из приложения и удостовериться, что все рабочие обсуждения закрываются?

foreach (Form form in Application.OpenForms)
{
    form.Close();
}
Application.Exit();
57
задан Media 1 December 2016 в 20:04
поделиться

1 ответ

Вы не показываете использование каких-либо потоков в вашем коде, но предположим, что у вас есть потоки в нем. Чтобы закрыть все ваши потоки, вам следует установить их в фоновые потоки перед запуском, тогда они будут закрыты автоматически при выходе из приложения, например:

Thread myThread = new Thread(...);
myThread.IsBackground = true; // <-- Set your thread to background
myThread.Start(...);

Статья "HOWTO: Stop Multiple Threads" от microsoft: http://msdn.microsoft.com/en-us/library/aa457093.aspx

89
ответ дан 24 November 2019 в 19:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: