簡體   English   中英

Java for for循環中的多線程

[英]multi threading in java with for loop

有一個學生實體列表。

List<Student> student = new Arraylist<Student>();

哪里

public student{
  private id;
  private name;
  private class;
  //setter and getter
} 

通過foreach循環:

for(Student std : student){
  System.out.println(std.getName());
}

以上是正常方式。 但是如何使用多線程打印它們? 三個學生詳細信息一起打印。 意味着要三個線程

一個簡單的解決方案:

studentList.parallelStream().forEach(System.out::println);

這會將您的列表變成一個 ,並為該中的每個元素調用System.out.println()。

非流解決方案當然要復雜得多。 這將需要定義多個線程,包括一個“模式”,這些線程如何在共享列表上工作。

要使用“原始線程”來完成操作:這就是簡單明了的東西:您必須將數據“切片”到存儲桶中,然后定義可以在不同存儲桶中使用的線程。 請參閱此處作為起點。

這沒有任何實際用途。

for(Student  std:student){
    new Thread(()->{
        System.out.println(std.getName);
        System.out.println(std.getName);
    }).start();
}

這也比上面的答案差。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM