cari

Rumah  >  Soal Jawab  >  teks badan

java线程为什么这样没有输出

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

这样一段代码什么都没输出,而将parallelStream去掉就可以输出,这是什么机制?谁能解释下

黄舟黄舟2802 hari yang lalu558

membalas semua(3)saya akan balas

  • 阿神

    阿神2017-04-18 10:51:08

    Kaedah parallelStream dilaksanakan secara serentak, yang bersamaan dengan membuka utas untuk mengeluarkan soout.
    Sebab mengapa tiada output adalah kerana utas utama telah selesai dilaksanakan, dan sub-utas selesai pada masa ini. Tambahkan tunggu pada penghujung kod dan anda boleh melihat kesannya

    balas
    0
  • 黄舟

    黄舟2017-04-18 10:51:08

    selari...Kaedah ini digunakan untuk apa?

    balas
    0
  • 巴扎黑

    巴扎黑2017-04-18 10:51:08

    Jawapan di tingkat dua sangat bagus
    Ia bersamaan dengan membuka benang n+ dan bukannya n

    balas
    0
  • Batalbalas