java中使用连接池的写法
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
int each_thread = 5000;#每个线程处理数据数
int count = 500;#总数据量
ExecutorService executor = null;
int thread_num = count/each_thread +1;#线程数
int action = count/thread_num+1;#每个线程处理数据数
try{
executor = Executors.newFixedThreadPool(thread_num);
for(int i=0;i<thread_num;i++){
final int begin_num = i*action;#用于limit分页处理
Runnable runn = new Runnable() {
@Override
public void run() {
action(begin_num);
}
};
System.out.print("t"+i+"启动 ,");
executor.execute(runn);
}
System.out.println();
} catch (Exception e) {
e.printStackTrace();
}finally{
executor.shutdown();
while(true){
if(executor.isTerminated()){
break;
}
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
浙公网安备 33010602011771号