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:
“Wherever I look, I see signs of the commandment to honor ones parents and nowhere of a commandment that calls for the respect of a child.”
—Alice Miller (20th century)
“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)