[英]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.