作者JustinHere (良葛格)
看板java
标题Re: [问题] 两个 Thread 疑问
时间Tue Jan 20 08:54:43 2015
※ 引述《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://webptt.com/cn.aspx?n=bbs/java/M.1421715286.A.B05.html
1F:推 WrongHole: 01/20 14:55