您的位置:首頁技術文章
文章詳情頁

java線程為什么這樣沒有輸出

瀏覽:99日期:2024-02-01 13:09:32

問題描述

List<String> list = Arrays.asList('a','b','c','d'); ExecutorService service = Executors.newFixedThreadPool(2); service.execute(() -> list.parallelStream().forEach(System.out::println));

這樣一段代碼什么都沒輸出,而將parallelStream去掉就可以輸出,這是什么機制?誰能解釋下

問題解答

回答1:

parallelStream 方法是并發執行,相當于開啟了線程在執行輸出sout。沒有輸出的原因是主線程執行完了,子線程也就完了,此時就沒有sout,在代碼最后加個等待,就可以看到效果

回答2:

parallel...這個方法是干什么用的?

回答3:

2樓的答案非常好相當于開啟了n+個線程而并不是n個

標簽: java
相關文章:
国产综合久久一区二区三区