newFixedThreadPool線程池的使用

@RestController

public class DemoController {

????public static void main(String[] args) {

????????List strs =new ArrayList<>();

????????getStrs(strs);

????????System.out.println("strs = " + strs);

}

? ?public static void getStrs(List strs){

? ? ? ? ? List> list =new ArrayList<>();

? ? ? ? ? ExecutorService service =null;

? ? ? ? ? try {

? ? ? ? ? ? ? service = Executors.newFixedThreadPool(5);

? ? ? ? ? ? ? for (int i =0; i <5; i++) {

? ? ? ? ? ? ? ? ? Future future = service.submit(new AbcCallable("a" + i, service.getClass().getName()));

? ? ? ? ? ? ? ? ? list.add(future);

}

? ? ? ? ? ? for (Future future : list) {

? ? ? ? ? ? ? ?try {

????????????????????strs.add(future.get());

????????????????}catch (Exception e) {

????????????????????e.printStackTrace();

????????}

????}

}catch (Exception e) {

????e.printStackTrace();

}finally {

????service.shutdown();

????}

????}

}


public class AbcCallableimplements Callable {

????private Stringname;

????private StringthreadName;

????public AbcCallable(String name, String threadName) {

????this.name = name;

????this.threadName = threadName;

}

@Override

? ? public String call()throws Exception {

????System.out.println("name = " +name +": threadName = " +threadName);

????return name;

????}

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容