Извините, если другие люди задавали подобный вопрос раньше.У меня есть простое приложение с графическим интерфейсом, который загружает некоторые файлы на сервер.Я поместил работу по загрузке в отдельную ветку.Когда пользователи хотят выйти из приложения, будет установлено событие, чтобы уведомить поток о нормальном выходе.Тогда поток пользовательского интерфейса будет ждать его.Код, который я использовал для прерывания потока, выглядит следующим образом: -
if (mUploadThread != null) {
if (mStopUploadEvent.WaitOne(0, true)) {
string message = @"A normal cancellation may take a couple of minutes. Are you sure you want forcibly abort?";
string caption = @"Warning";
if (DialogResult.Yes == MessageBox.Show(message, caption, MessageBoxButtons.YesNo)) {
mUploadThread.Abort();
}
} else {
mStopUploadEvent.Set();
}
do {
Application.DoEvents();
} while (!mUploadThread.Join(1000));
}
Здесь я хочу завершить рабочий поток, если пользователь этого захочет.Но метод abort () просто не работает.Любое предложение приветствуется.