看板 java 關於我們 聯絡資訊
※ 引述《cyclone350 (老子我最神)》之銘言: : task 跑到一半會消失? 這甚麼道理? try catch 不就形同虛設了嗎? : 請問在開發 multi Thread 時真的會有這種情況發生嗎? : 如果真的有這情況,各位大大是怎麼處理? Thread 不會憑空消失,不過,在非同步的情況下,很容易會誤寫出無用的 try-catch, 例如: try { asyncTask(); } catch(SomeException ex) { bla...bla... } 因為 asyncTask() 是非同步,因此執行完之後,流程就繼續往下,離開 try-catch 了,這樣就算你的 asyncTask() 拋出例外,也不會被捕捉到 … 這種感覺就像你說的 ,try-catch 形同虛設,基本上,這可以換個方式來解決,例如 Promise 模式之類的… http://www.codedata.com.tw/java/jdk8-completablefuture/ : --------------------- : 另外想請問程式暫停除了 Thread.sleep 還有其他的方式嗎? wait()、notify() ... : 不過之後可能會被問一個問題 : "萬一 Thread.sleep 之後就起不來,然後程式也沒跳任何錯誤 : (意味 Exception 及 Error 不會 trigger),怎麼辦?" : 所以還蠻想找一個替代方案的 : ----------------------- 看不到你的程式碼,也不知道你的目的,你的主管說 Thread 消失的說法也不明不白, 還是問清楚他的意思是什麼吧!如果他也說不出什麼叫做消失,那就是職場政治學的問 題了… XD -- 良葛格學習筆記 http://openhome.cc -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.215.48.182 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1421715286.A.B05.html
WrongHole: 01/20 14:55