文章詳情頁
java線程為什么這樣沒有輸出
瀏覽:106日期: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
相關文章:
1. 為什么我ping不通我的docker容器呢???2. docker安裝后出現Cannot connect to the Docker daemon.3. 將SQLServer數據同步到MySQL 用什么方法?4. android - webview 自定義加載進度條5. 并發模型 - python將進程池放在裝飾器里為什么不生效也沒報錯6. numpy - python [:,2][:,None]是什么意思7. javascript - 微信小程序限制加載個數8. javascript - 微信小程序封裝定位問題(封裝異步并可能多次請求)9. javascript - 微信音樂分享10. python 怎樣用pickle保存類的實例?
排行榜
