线程池
来源:互联网 发布:applem2引擎完整源码 编辑:程序博客网 时间:2024/05/17 00:46
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
/**
* 构建一个固定大小的线程池处理充值请求
*
* @since 2015-06-17
*/
@Service("arActiveExecutor")
public class ARActiveExecutor implements InitializingBean {
@Autowired
private ARActiveService arActiveService;
@Value("${executor.size}")
private int executorSize = 100;
private ExecutorService executorService;
@Override
public void afterPropertiesSet() throws Exception {
executorService = Executors.newFixedThreadPool(executorSize);
for(int i=0;i<executorSize;i++){
executorService.execute(arActiveService);
}
}
}
@Service
@Slf4j
public class ARActiveService implements Runnable {
@Autowired
private AllRoundActiveOrderService allRoundActiveOrderService;
@Autowired
private ChannelTaskService channelTaskService;
@Autowired
Map<String, ARChannel> arChannelServiceMap;
@Autowired
private ActiveQuotaCallback activeQuotaCallback;
@Autowired
private ChannelChooseService channelChooseService;
private int successState = 200;
private int failState = 500;
@Override
public void run() {
while (true) {
String txNo = "ACTIVE_AR_" + UUID.randomUUID();
try {
ActiveOrderAllRoundDTO activeOrderDTO = allRoundActiveOrderService.getActiveOrder(txNo);
log.info("activeAllround get,txNo:{},result:{}",txNo,activeOrderDTO);
if (activeOrderDTO == null) {
sleep();
} else {
handle(txNo,activeOrderDTO);
}
} catch (Exception e) {
log.error("active for,txNo:{}, detail:{}", txNo,ExceptionUtils.getStackTrace(e));
sleep();
}
}
}
private void sleep() {
try {
Thread.sleep(10*1000);
} catch (InterruptedException ex) {
}
}
}
- 线程与线程池
- 线程池 线程优先级
- Executor线程,线程池
- 线程、多线程、线程池
- IOS-线程、线程池
- Java线程:线程池
- 线程和线程池
- 线程、多线程、线程池
- 线程、多线程、线程池
- 线程(六)线程池
- ExecutorService(线程池)+线程
- 线程和线程池
- 线程&线程池 简略
- 线程和线程池
- 线程池 线程锁
- 线程、线程池总结
- 线程与线程池
- 线程、锁、线程池
- XML和son的数据解析
- Jboss eap 6.4 支持列表
- Linux进程实践(5) --守护进程
- 安装xcache3.0.3/3.2,为php加速
- android开发之路-----------转自任玉刚大神
- 线程池
- Android 编程技巧之 ----- 最佳 Activity 数据传递
- Linux信号实践(1) --Linux信号编程概述
- OC语言 系统文件
- 排序
- 程序员励志名言
- js获取文本显示宽度
- Dom4J解析xml文档
- Linux信号实践(2) --信号分类