- 创建线程池
public class InsertTest {
@Test
public void t1() {
IMyThreadService sv = LocalContextFactory.getInstance().getBean("IMyThreadService", IMyThreadService.class);
// 创建线程池
ThreadPoolExecutor executor = new ThreadPoolExecutor(10, 200000, 200, TimeUnit.MILLISECONDS, new ArrayBlockingQueue<Runnable>(10));
for (int i = 0; i < 10; i++) {
R1 runnableDes = new R1(sv);
executor.execute(runnableDes);
}
System.out.println("线程池中线程数:" + executor.getPoolSize());
// 释放资源
executor.shutdown();
}
}
class R1 implements Runnable {
private IMyThreadService name;
public R1(IMyThreadService name) {
this.name = name;
}
@Override
public void run() {
long time1 = System.currentTimeMillis();
for (int i = 0; i < 1; i++) {
name.batchInsert();
}
long time2 = System.currentTimeMillis();
System.out.println("线程" + Thread.currentThread().getName() + ":" + (time2 - time1) + "ms");
}
}
- 插入数据库
public class MyThreadServiceImpl implements IMyThreadService {
@Override
public void batchInsert() {
try {
// 插入语句
// 可以控制插入多少条提交一次事务
} catch (Exception e) {
e.printStackTrace();
}
}
}
版权声明:本文为sinat_34560420原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。