看板 java 關於我們 聯絡資訊
我寫了一個Thread, 功能就是每隔五秒監視資料庫的異動, 假設資料庫被新增了一筆資料,就去做某些事。 所以這個Thread基本上是隨著系統起動而被起動, 等到系統整個被停掉它才會被停掉。 但是我希望它在Exception發生,導致它會掛掉的時候, 或是說系統被停掉,導致它也連帶被停止的時候, 能把connection給close掉,以免佔了資料庫的連線數。 雖說不去管它,過一陣時間這個連線也會被資料庫踢掉, 但某些因素,我希望它能很快的釋放資源。 所以請問我如果把con.close();con=null;這段語法, 放在finalize的話,它無論如何一定會被執行到嗎? 由於不太熟Thread,想另外再請問一下, 像這種寫成背景程序的thread, 我是寫成像這種形式 void run(){ while(true){ do something sleep(5000); } } 每次迴圈停頓五秒,以免佔住太多的cpu資源, 請問除此之外還有比較不佔資源的寫法嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.136.218.176 ※ 編輯: neverfly 來自: 220.136.218.176 (04/14 21:21)
weiyucsie:有個Runtime.runFinalization() (不過我沒用過) 04/15 08:06
undeadj:不會 04/15 15:14