我有一個保存密碼的文本文件的密碼保存程序。用戶可以添加或刪除密碼,數據將被重新寫入文本文件。爲防止程序變得非常慢,每次程序需要保存時,我都會創建一個新線程。我有一個擴展Thread的類,並將所有數據寫入指定的文本文件。我遇到的問題是在用戶想要退出之前嘗試保存所有數據。當按下退出按鈕時,我創建一個新線程來保存數據,然後調用System.exit()函數來退出。完成所有線程後退出Java程序
Thread t = new SaveThread();
t.start();
System.exit(0);
我注意到程序將在線程完成之前退出。有什麼辦法可以告訴java只有當我的線程停止運行時才退出?
您可以在退出課程之前調用't.join()'。 – Gray
不會爲您的線程設置「守護進程」標誌,並且JVM將等待所有後臺線程的完成。 – jdevelop
爲什麼它很慢保存文本文件?這是我想到的第一個問題 –