runnable不支援異常處理,而callable可以異常處理
runnable不能獲取執行緒塊的返回值,而callable可以通過futruetask獲取返回值
建立2個執行緒,分別獲取userinfo資訊與stuinfo資訊
callableuserinfocallable = new callable()
};
callablestuinfocallable = new callable()
};
將callable包裝進futruetask
futruetaskuserinfotask = futruetask(userinfocallable );
futruetaskstuinfotask = futruetask(stuinfocallable );
多執行緒執行
new thread(userinfotask).start();
new thread(stuinfotask ).start();
為什麼不直接new thread(userinfocallable ).start();
因為thread方法只能傳入runnable,而futruetask實現了runnable介面
a、構造方法傳入callable
b、實現了runnable介面
c、get方法阻塞效果,讓main執行緒等待慢的thread執行緒執行完畢
d、執行完畢後,通知main執行緒繼續執行
多執行緒 Callable實現
1 實現callable介面 定義類studentthread實現callable介面,其中dealstudentinfores為業務處理完返回的結果集dto,dealstudentinforesq為需要處理的學生資訊的dto dealstudentinforesq學生資訊dto data apim...
多執行緒 Callable執行緒建立方式
介面定義 callable介面 public inte ce callable runnable介面 public inte ce runnable 編寫類實現callable介面 實現call方法 class implements callable 建立futuretask物件 並傳入第一步編寫的...
java多執行緒之Callable
callable和runnbale一樣代表著是執行緒任務,區別在於callable有返回值並且可以丟擲異常。建立並啟動有返回值的執行緒的步驟如下 建立callable介面的實現類,並實現call 方法,該call 方法將作為執行緒執行體,並且該call 方法有返回值。將callable例項傳入fut...