0
我有一個WPF應用程序,做了很多跟一個遠程服務器的,所以要保持界面很好,響應速度很快,我把這些操作放在第二個線程中。有一些可能的但不太可能的情況,那個線程只會掛起,永遠阻塞。有沒有簡單的方法讓我實現一個「取消」按鈕,不涉及調用thread.Abort()?我看到很多人建議不要使用它,而且我不想留下任何未發佈的資源。也許一種強制線程拋出異常的方法?什麼是實行「停止/取消」按鈕來停止一個線程的好方法(即ins't後臺工作)
我在標題中註明,這不是後臺工作,因爲程序不使用這些。它已經用普通的舊線程編碼了。
如果您不希望線程掛起,請修復這些情況,以免發生這種情況。 – 2012-04-25 07:19:50
什麼情況下,「只是掛起,永遠阻止」?修復這些! – 2012-04-25 07:21:12
@DavidSchwartz如果程序本身無法確定是否出現問題,那麼需要用戶做出決定。此外,在其他情況下,當程序需要停止線程本身(如連接錯誤,它需要重新建立連接並重新啓動線程)我想用同樣的取消方法 – cost 2012-04-25 07:24:48