package hdgl.db.task; import java.util.concurrent.Future; /** * 异步访问接口,用于封装异步执行结果。需要注意的是获取此接口之后该任务还未开始, * 需要调用run或sync方法之后才会开始任务。 * * @author elm * * @param <T> 结果的返回类型 */ public interface AsyncResult<T> extends Future<T> { /** * 开始执行此异步任务 */ public void start(); /** * 返回该任务是否支持Cancel操作 */ public boolean supportCancel(); /** * 向当前任务添加回调接口 * @param callback 回调函数接口 */ public void addCallback(AsyncCallback<T> callback); /** * 移除某一个回调接口 * @param callback 回调函数接口 */ public void removeCallback(AsyncCallback<T> callback); }