最近在做大批量数据导入问题,当数据量很大的时候(例如:20万条),程序在执行的时候,需要花很长的时间,为了提高程序的执行效率,现采用多线程的方法实现数据导入功能,具体实现如下:
【实现】[java]
package com.mypack.thread;
public class Student {
private String name;
private String sex;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
package com.mypack.thread;
public class Student {
private String name;
private String sex;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
[java]
package com.mypack.thread;
import java.util.ArrayList;
import java.util.List;
/**
*
* 学生线程
*
*
* @author liudong
*
*/
public class StudentThread extends Thread {
private List
public StudentThread(List
this.students = students;
}
public void run() {
for (Student student : students) {
System.out.println("当前线程:" + Thread.currentThread().getName());
System.out.println("name = " + student.getName() + " age = "
+ student.getAge() + " sex = " + student.getSex());
// 导入学生信息到数据库中
}
}
}
package com.mypack.thread;
import java.util.ArrayList;
import java.util.List;
/**
*
* 学生线程
*
*
* @author liudong
*
*/
public class StudentThread extends Thread {
private List
public StudentThread(List
this.students = students;
}
public void run() {
for (Student student : students) {
System.out.println("当前线程:" + Thread.currentThread().getName());
System.out.println("name = " + student.getName() + " age = "
+ student.getAge() + " sex = " + student.getSex());
// 导入学生信息到数据库中
}
}
}
[java]
package com.mypack.thread;
import java.util.ArrayList;
import java.util.List;
/**
*
*
* 测试类
*
*
* @author liudong
*
*/
public class Test {
public static void main(String[] args) {
Test test =