- Callable<String> task = new Callable<String>() {
- @Override
- public String call() throws Exception{
- //執行耗時代碼
- Thread.sleep(10000);
- return "success";
- }
- };
- ExecutorService executorService = Executors.newSingleThreadExecutor();
- Future<String> future = executorService.submit(task);
- try {
- //設置超時時間
- String rst = future.get(5,TimeUnit.SECONDS);
- System.out.println(rst);
- } catch (TimeoutException e) {
- System.out.println("執行超時");
- } catch(Exception e){
- System.out.println("獲取數據異常," + e.getMessage());
- }finally {
- executorService.shutdown();
- }