1、實現callable介面
//定義類studentthread實現callable介面,其中dealstudentinfores為業務處理完返回的結果集dto,dealstudentinforesq為需要處理的學生資訊的dto
//dealstudentinforesq學生資訊dto
@data
@apimodel("學生資訊")
@builder
public class dealstudentinforesq
//dealstudentinfores學生資訊處理完成後返回的dto
@data
@builder
@apimodel("學生資訊處理結果")
public class dealstudentinfores
//類studentthread
public class studentthread implements callable
@override
public dealstudentinfores call() throws exception
}
//定義介面
public inte***ce studentinfodeal
//呼叫多執行緒實現介面
@service
@slf4j
public class studentinfodealimpl implements studentinfodeal ")
private int threadcount;
public int getthreadcount()
public void setthreadcount(int threadcount)
@override
public void dealstudentinfo()
//設定需要處理的學生數量
countdownlatch countdownlatch = new countdownlatch(dealstudentinforesqs.size());
executorservice executorservice = executors.newfixedthreadpool(threadcount);
listdealstudentinfores = new arraylist<>();
for (iteratorit = dealstudentinforesqs.iterator(); it.hasnext(); ) catch (interruptedexception e) catch (executionexception e)
}try catch (interruptedexception e)
}}
多執行緒Callable
runnable不支援異常處理,而callable可以異常處理 runnable不能獲取執行緒塊的返回值,而callable可以通過futruetask獲取返回值 建立2個執行緒,分別獲取userinfo資訊與stuinfo資訊 callableuserinfocallable new callab...
多執行緒下Callable相關實現
public class testcall implements callable中的引數決定call方法的返回值 class testcall2 implements callable 減法計數器,可以通過先給計數器設定乙個固定值,然後在多執行緒迴圈的時候依次減減,等到計數器徹底為零的時候,則可以...
多執行緒 Callable執行緒建立方式
介面定義 callable介面 public inte ce callable runnable介面 public inte ce runnable 編寫類實現callable介面 實現call方法 class implements callable 建立futuretask物件 並傳入第一步編寫的...