@RestController
public class TestController {
@Resource(name = "taskExecutor")
private ThreadPoolTaskExecutor executor;
@GetMapping("/test")
public Map<String, Object> test() throws Exception{
Map<String, Object> map = new HashMap<>();
DemoTask task = new DemoTask();
Future<String> result = executor.submit(task);
map.put("result", result.get());
return map;
}
}
class DemoTask implements Callable<String> {
@Override
public String call() throws Exception {
Thread.sleep(5000);
return "这是要的结果";
}
}
如果两个人几乎同时访问 /test 的时候, 怎么样可以让这两个请求同时处理, 而不需要先等第一个处理完? 假设是需要等待返回结果的.