文章詳情頁
java線程為什么這樣沒有輸出
瀏覽:87日期: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 方法是并發(fā)執(zhí)行,相當于開啟了線程在執(zhí)行輸出sout。沒有輸出的原因是主線程執(zhí)行完了,子線程也就完了,此時就沒有sout,在代碼最后加個等待,就可以看到效果
回答2:parallel...這個方法是干什么用的?
回答3:2樓的答案非常好相當于開啟了n+個線程而并不是n個
標簽:
java
相關(guān)文章:
1. java - 創(chuàng)建maven項目失敗了 求解決方法2. MySQL中的enum類型有什么優(yōu)點?3. java - 線上應(yīng)用,如果數(shù)據(jù)庫操作失敗的話應(yīng)該如何處理?4. javascript - js setTimeout在雙重for循環(huán)中如何使用?5. Phpstorm搭配Sqlsever2008實現(xiàn)PDO連接報錯6. javascript - arguments.callee7. css - 如何選擇字體?8. atom開始輸入!然后按tab只有空格出現(xiàn)沒有html格式出現(xiàn)9. mysql - 這種分級一對多,且分級不平衡的模型該怎么設(shè)計表?10. javascript - 有適合開發(fā)手機端Html5網(wǎng)頁小游戲的前端框架嗎?
排行榜

熱門標簽