我正在学习Spring Framework,它非常棒。
我想使用JAVA多线程,但是我不知道如何使用Spring Framework。
这是服务代码:
//StudentService.java
public List loadGradesForAllStudents(Date date) {
try{
List grades = new ArrayList();
List students = loadCurrentStudents(); // LOAD FROM THE DB
for(Student student : students) { // I WANT TO USE MULTITHREAD FOR THIS PART
// LOAD FROM DB (MANY JOINS)
History studentHistory = loadStudentHistory(student.getStudentId(), date);
// CALCULATION PART
Grade calculatedGrade = calcStudentGrade(studentHistory, date);
grades.add(calculatedGrade);
}
return grades;
} catch(Exception e) {
...
return null;
}
}
如果没有多线程,它的速度将非常慢。
我猜for循环会导致速度变慢,但是我不知道如何解决这个问题。如果给我一个有用的链接或示例代码,我将不胜感激。
我发现该方法loadStudentHistory与calcStudentGrade(大约30ms)相比非常慢(大约300ms)。