成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

java線程為什么這樣沒(méi)有輸出

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

問(wèn)題描述

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

這樣一段代碼什么都沒(méi)輸出,而將parallelStream去掉就可以輸出,這是什么機(jī)制?誰(shuí)能解釋下

問(wèn)題解答

回答1:

parallelStream 方法是并發(fā)執(zhí)行,相當(dāng)于開(kāi)啟了線程在執(zhí)行輸出sout。沒(méi)有輸出的原因是主線程執(zhí)行完了,子線程也就完了,此時(shí)就沒(méi)有sout,在代碼最后加個(gè)等待,就可以看到效果

回答2:

parallel...這個(gè)方法是干什么用的?

回答3:

2樓的答案非常好相當(dāng)于開(kāi)啟了n+個(gè)線程而并不是n個(gè)

標(biāo)簽: java
相關(guān)文章: