使用简单的Callable来异步处理线程

2019-06-10  本文已影响0人  勤劳的杯子

想要增加web容器的并发量可以使用这种方式
使用callable 线程池 这个线程池是spring实现的一个简单的线程池不会从用线程

@RestController
public class AsyncController {

    private Logger logger = LoggerFactory.getLogger(this.getClass());

    @RequestMapping("/order")
    public DeferredResult order() throws InterruptedException {
        logger.info("main thread start");
//        Thread.sleep(1000);
        Callable<String> result = new Callable<String>() {
            @Override
            public String call() throws Exception {
                logger.info("secondary thread start");
                //延时
                Thread.sleep(1000);
                logger.info("secondary thread return");
                return "success";
            }
        };
        logger.info("main thread return");
        return result;
    }
}

这样写了之后 可以再开辟一个线程来执行请求 增大访问并发

上一篇 下一篇

猜你喜欢

热点阅读