Asynchronous Calls and Futures
Whenever possible, a method call on an active object is reified as an asynchronous request. If not possible, the call is synchronous, and blocks until the reply is received. If the request is asynchronous, it immediately returns a future object.
The future object acts as a placeholder for the result of the not-yet-performed method invocation. As a consequence, the calling thread can go on with executing its code, as long as it doesn't need to invoke methods on the returned object. If the need arises, the calling thread is automatically blocked if the result of the method invocation is not yet available. Although a future object has structure similar to that of an active object, a future object is not active. It only has a Stub and a Proxy.
Read more about this topic: Pro Active
Famous quotes containing the words calls and/or futures:
“If we remembered everything, we should on most occasions be as ill off as if we remembered nothing. It would take us as long to recall a space of time as it took the original time to elapse, and we should never get ahead with our thinking. All recollected times undergo, accordingly, what M. Ribot calls foreshortening; and this foreshortening is due to the omission of an enormous number of facts which filled them.”
—William James (18421910)
“One of the things that is most striking about the young generation is that they never talk about their own futures, there are no futures for this generation, not any of them and so naturally they never think of them. It is very striking, they do not live in the present they just live, as well as they can, and they do not plan. It is extraordinary that whole populations have no projects for a future, none at all.”
—Gertrude Stein (18741946)