如果其他人以前曾問過類似問題,我很抱歉。 我有一個簡單的GUI應用程序,它將一些文件上傳到服務器。我把上傳工作放到了一個單獨的線程中。當用戶想要退出應用程序時,會設置一個事件來通知線程正常退出。然後UI線程將等待它。我用來中止線程的代碼如下: -什麼是在我的場景中中止線程的最佳方式
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()方法不起作用。任何建議表示讚賞。
如果您將工作線程標記爲背景,則不需要自行中止它 - 它不會阻止應用程序退出。 – 2010-07-14 06:11:20