文章詳情頁
java線程為什么這樣沒有輸出
瀏覽:124日期: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. javascript - 如何使用loadash對[object,object,object]形式的數組進行比較2. 這種數據怎么合并啊?3. 請教各位大佬,瀏覽器點 提交實例為什么沒有反應4. javascript - 如何清除向可編輯的(contenteditable)元素里粘貼的文本的標簽和樣式?5. mysql優化 - 關于mysql分區6. 如何分別在Windows下用Winform項模板+C#,在MacOSX下用Cocos Application項目模板+Objective-C實現一個制作游戲的空的黑窗口?7. angular.js - 百度支持_escaped_fragment_嗎?8. javascript - ionic2 input autofocus 電腦成功,iOS手機鍵盤不彈出9. nlp - python如何對一篇文章自動分段?10. css3 - 這個形狀使用CSS怎么寫出來?
排行榜
