我正在处理客户端,它将在传递给客户端的输入(键)上生成URL基础,然后对该URL进行HTTP调用。现在我需要同步和异步实现这一点。异步包装类围绕接口的同步实现
我想超时的客户端,如果它的时间超过指定的时间。
所以我想制作一个这样的接口,它将有同步和异步方法,它们将接受一些输入参数,我将编写一个实现接口的实现类。
public interface Client {
// for synchronous
public String execute(final ClientInput keys);
// for asynchronous
public Future<String> executeAsync(final ClientInput keys);
}
但我做了一些研究,我发现,更好的方法是 -
不是有两个方法,一个是同步的,另一种是异步的,具有描述同步行为的一个接口方法。为它写一个实现。然后提供一个封装类,该类封装了基本上调用封装对象方法的接口实现,同时提供异步行为。
但不知何故,我无法理解如何做到这一点?任何人都可以提供一个简单的例子,这将有助于我更好地了解如何做到这一点?
这里的方式太宽泛了,也是基于意见的。也就是说,不需要两个独立的接口。谈论期货时,您可以免费获得同步;调用'Future.get()'块直到操作完成。 –
@BrianRoach:我知道这是基于意见的,因为我在我的问题中提到我正在寻找围绕sycnrhonous实现的异步包装类。如果你能提供一个简单的例子,它会帮助我更好地理解。 – ferhan