文章詳情頁(yè)
java線程為什么這樣沒有輸出
瀏覽:94日期: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去掉就可以輸出,這是什么機(jī)制?誰(shuí)能解釋下
問題解答
回答1:parallelStream 方法是并發(fā)執(zhí)行,相當(dāng)于開啟了線程在執(zhí)行輸出sout。沒有輸出的原因是主線程執(zhí)行完了,子線程也就完了,此時(shí)就沒有sout,在代碼最后加個(gè)等待,就可以看到效果
回答2:parallel...這個(gè)方法是干什么用的?
回答3:2樓的答案非常好相當(dāng)于開啟了n+個(gè)線程而并不是n個(gè)
標(biāo)簽:
java
相關(guān)文章:
1. mysql 查詢身份證號(hào)字段值有效的數(shù)據(jù)2. python bottle跑起來(lái)以后,定時(shí)執(zhí)行的任務(wù)為什么每次都重復(fù)(多)執(zhí)行一次?3. 視頻文件不能播放,怎么辦?4. html5 - HTML代碼中的文字亂碼是怎么回事?5. python - 爬蟲模擬登錄后,爬取csdn后臺(tái)文章列表遇到的問題6. visual-studio - Python OpenCV: 奇怪的自動(dòng)補(bǔ)全問題7. mysql - 分庫(kù)分表、分區(qū)、讀寫分離 這些都是用在什么場(chǎng)景下 ,會(huì)帶來(lái)哪些效率或者其他方面的好處8. javascript - 彈出一個(gè)子窗口,操作之后關(guān)閉,主窗口會(huì)得到相應(yīng)的響應(yīng),例如網(wǎng)站的某些登錄界面,django后臺(tái)的管理等,這是怎么實(shí)現(xiàn)的呢?9. javascript - ios返回不執(zhí)行js怎么解決?10. android - 分享到微信,如何快速轉(zhuǎn)換成字節(jié)數(shù)組
排行榜

熱門標(biāo)簽