ThreadPoolExecutor executorService = new ThreadPoolExecutor(3, 5,
1, TimeUnit.SECONDS, new LinkedBlockingDeque<Runnable>());
//循环处理 子任务
for (int i = 0; i < partitions.size(); i++) {
final int k = i;
executorService.execute(new Runnable() {
@Override
public void run() {
String sql = "select * from " + tableName
+ " partition(" + partitions.get(k) + ")";
exportOracleData(sql, partitions.get(k));
}
});
}
;
1, TimeUnit.SECONDS, new LinkedBlockingDeque<Runnable>());
//循环处理 子任务
for (int i = 0; i < partitions.size(); i++) {
final int k = i;
executorService.execute(new Runnable() {
@Override
public void run() {
String sql = "select * from " + tableName
+ " partition(" + partitions.get(k) + ")";
exportOracleData(sql, partitions.get(k));
}
});
}
executorService.shutdown();
//将子线程加入到主线程,即主线程等待子线程
;