这里有一个学生实体列表。
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());
}
以上是正常方法。但是如何使用多线程打印它们? 三个学生详细信息一起打印。意味着需要三个线程
答案 0 :(得分:1)
一个简单的解决方案:
studentList.parallelStream().forEach(System.out::println);
这会将您的列表变成一个流,并对该流中的每个元素调用System.out.println()。
非流解决方案当然要复杂得多。需要 you 定义多个线程,包括一个“模式”,这些线程如何在共享列表上工作。
使用“原始线程”进行操作:这是简单明了的东西:您必须将数据“切片”到存储桶中,然后定义适用于不同存储桶的线程。请以here为起点。
答案 1 :(得分:1)
这没有任何实际用途。
for(Student std:student){
new Thread(()->{
System.out.println(std.getName);
System.out.println(std.getName);
}).start();
}
这也比上面的答案还差。