У меня есть форма окна с двумя функциями:
первый загружает несколько строк в базу данных и
вторая функциональность заключается в обработке этих строк с использованием заданного количества потоков, потому что скорость обработки данных очень важна в моем проекте, поэтому я не могу рассмотреть возможность не использовать многопоточность.
Проблема заключается в том, что я хочу добавить опцию остановки выполнения процесса, что означает остановку всех текущих потоков, если возникнет какая-либо проблема, чтобы пользователь указал другой номер потока и снова перезапустил выполнение, но моя форма Windows кажется замораживание и выполнение входят в метод остановки после того, как все потоки нормально закончили свою работу.
Более подробно при обработке события нажатия кнопки я инициирую все потоки и
после этого я зацикливаю все темы
for (int i = 0; i < threads.Length; i++)
{
threads[i].Join();
}
во время события нажатия кнопки для остановки I
for(int i=0;i<threads.Length;i++)
{
if(threads[i].IsAlive)
threads[i].Abort();
}
Я заметил, что, если я прокомментирую присоединяющуюся часть, интерфейс сможет отреагировать на остановку щелчка по событию.
Но я не хочу этого делать, потому что я хочу различить момент, когда все потоки закончили выполнение, поэтому я положил присоединение к pa