美文网首页
使用简单的Callable来异步处理线程

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

作者: 勤劳的杯子 | 来源:发表于2019-06-10 23:15 被阅读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;
    }
}

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

相关文章

网友评论

      本文标题:使用简单的Callable来异步处理线程

      本文链接:https://www.haomeiwen.com/subject/rdsxfctx.html