業務模型期望的結果是這樣的,檢測子執行緒的異常情況,如果發生異常,主線程回滾,否則提交
;2.如果執行緒丟擲unchecked(runnable) exception,則執行緒終結,主線程不受影響。
所以使用runnable,主線程壓根不知道子執行緒的情況,事務更無從談起。
所以使用callable機制
兩種方法
1 使用異常
futuretask
publicv get()throwsinterruptedexception, executionexception主線程 呼叫 get 直接丟擲異常觸發事務管理
2 使用返回if(
"failed"
.equals(result))
收到failed返回後,丟擲異常觸發事務管理
如何主線程捕獲子執行緒的異常
第乙個 子執行緒類 public class threadexceptionrunner implements runnable 第二步 主線程類 在最後面有我自定義的兩個class是作為配置用的,有解釋 public class demothread 1 首先 實現乙個 thread.uccaug...
主線程和子執行緒
子執行緒通過 handlerthread的thread.getlooper 繫結,在主線程的handler的handlermessage中呼叫threadhandler.sendmessagedelay msg,1000 向子執行緒傳送訊息。在子執行緒中通過handler.sendmessagede...
主線程和子執行緒
主線程負責管理由它建立的子執行緒,建立 啟動 掛起 停止等。主線程通過發訊息的方式管理子執行緒,例如,給子執行緒傳送start 訊息,子執行緒啟動,子執行緒執行入口的run 方法。thread有下面兩個構造方法 thread runnable target,string name thread ru...