From Java doc:
A Future represents the result of an asynchronous computation. Methods are provided to check if the computation is complete, to wait for its completion, and to retrieve the result of the computation.
How is then it asynchronous if there are methods to wait for completion?My understanding of asynchronous operation is that caller can just make a call to it, and just move to some other task. And caller would come to know of the completion automatically, with result. Is this wrong?