多執行緒Callable

2021-09-25 09:45:56 字數 882 閱讀 5476

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...