Spring的異步方法

先把longTimeMethod 封裝到Spring的異步方法中,這個異步方法的返回值是Future的實例。這個方法必定要寫在Spring管理的類中,注意註解@Async。java

@Service public class AsynchronousService{ @Async public Future springAsynchronousMethod(){ Integer result = longTimeMethod(); return new AsyncResult(result); } }

其餘類調用這個方法。這裏注意,必定要其餘的類,若是在同類中調用,是不生效的。spring

@Autowired private AsynchronousService asynchronousService; public void useAsynchronousMethod(){ Future future = asynchronousService.springAsynchronousMethod(); future.get(1000, TimeUnit.MILLISECONDS); }

其實Spring只不過在原生的Future中進行了一次封裝,咱們最終得到的仍是Future實例。異步

相關文章
相關標籤/搜索