When is called on an active object , it returns immediately (as the current thread cannot execute methods in the other subsystem). Similarly, when is called on , it returns immediately but the result can't be computed yet. A future object, which is a placeholder for the result of the method invocation, is returned. From the point of view of the caller subsystem, there is no difference between the future object and the object that would have been returned if the same call had been issued onto a passive object.