转换文件线程池优化

gov
Mahone 4 years ago
parent 9f94abc5e2
commit f8725bee53

@ -12,31 +12,23 @@ import java.util.concurrent.TimeUnit;
@Service @Service
public class ThreadPoolExecutorService implements IThreadPoolExecutorService { public class ThreadPoolExecutorService implements IThreadPoolExecutorService {
private ThreadPoolExecutor poolExecutor;
private static LinkedBlockingDeque<Runnable> deque = new LinkedBlockingDeque<Runnable>(10000); private static LinkedBlockingDeque<Runnable> deque = new LinkedBlockingDeque<>(10000);
private static ThreadPoolExecutor singleExecutor =new ThreadPoolExecutor( private static ThreadPoolExecutor singleExecutor =new ThreadPoolExecutor(
5,10000, 20, TimeUnit.SECONDS,deque);; 1,10000, 20, TimeUnit.SECONDS,deque);
private static ArrayBlockingQueue<Runnable> poolQueue = new ArrayBlockingQueue<>(10);
private static ThreadPoolExecutor poolExecutor=new ThreadPoolExecutor(
5,20, 5, TimeUnit.SECONDS,poolQueue);
private Logger logger= LoggerFactory.getLogger(ThreadPoolExecutorService.class); private Logger logger= LoggerFactory.getLogger(ThreadPoolExecutorService.class);
public ThreadPoolExecutorService(){ public ThreadPoolExecutorService(){
ArrayBlockingQueue<Runnable> poolQeque = new ArrayBlockingQueue<Runnable>(10);
poolExecutor=new ThreadPoolExecutor(
5,20, 5, TimeUnit.SECONDS,poolQeque);
poolExecutor.allowCoreThreadTimeOut(true); poolExecutor.allowCoreThreadTimeOut(true);
singleExecutor =new ThreadPoolExecutor(
1,10000, 20, TimeUnit.SECONDS,deque);
singleExecutor.allowCoreThreadTimeOut(true); singleExecutor.allowCoreThreadTimeOut(true);
} }
@Override @Override
public void singleExecute(Runnable runnable){ public void singleExecute(Runnable runnable){
singleExecutor.execute(() -> { singleExecutor.execute(() -> {
// try {
// Thread.sleep(300);
// } catch (InterruptedException e) {
// e.printStackTrace();
// }
runnable.run(); runnable.run();
}); });
} }
@ -44,11 +36,6 @@ public class ThreadPoolExecutorService implements IThreadPoolExecutorService {
@Override @Override
public void execute(Runnable runnable){ public void execute(Runnable runnable){
poolExecutor.execute(() -> { poolExecutor.execute(() -> {
// try {
// Thread.sleep(3000);
// } catch (InterruptedException e) {
// e.printStackTrace();
// }
runnable.run(); runnable.run();
}); });
} }
@ -62,7 +49,7 @@ public class ThreadPoolExecutorService implements IThreadPoolExecutorService {
singleExecutor.getQueue().clear(); singleExecutor.getQueue().clear();
singleExecutor.shutdown(); singleExecutor.shutdown();
singleExecutor.awaitTermination(10,TimeUnit.SECONDS); singleExecutor.awaitTermination(10,TimeUnit.SECONDS);
} catch (InterruptedException e) { } catch (Exception e) {
logger.error("销毁线程池",e); logger.error("销毁线程池",e);
} }
logger.info("销毁线程池"); logger.info("销毁线程池");

@ -27,10 +27,10 @@ base:
##ElasticSearch服务配置 for highLevelRestClient ##ElasticSearch服务配置 for highLevelRestClient
esclient: esclient:
master-host: 127.0.0.1 master-host: 119.29.145.199
master-port: 9200 master-port: 9200
master-user-name: elastic master-user-name: elastic
master-user-pwd: xxxxxxxxxxxxx master-user-pwd: d1nyX77wMN4SrCpfYTrG
spring: spring:
servlet: servlet:
@ -111,9 +111,9 @@ spring:
connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000 connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
datasource: datasource:
master: master:
url: jdbc:mysql://127.0.0.1:3306/km?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai url: jdbc:mysql://119.29.145.199:6033/km_dev?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
username: root username: root
password: xxxxxxxxxx password: kyxxjs@2tencent
driver-class-name: com.mysql.cj.jdbc.Driver driver-class-name: com.mysql.cj.jdbc.Driver
#redis 配置 #redis 配置
redis: redis:

Loading…
Cancel
Save