package cn.org.rapid_framework.util.concurrent.async; import java.util.concurrent.Callable; import java.util.concurrent.Executor; /** * AsyncToken工具类方法,用executor执行任务并将执行结果设置进AsyncToken并返回 * @author badqiu * */ @SuppressWarnings("all") public class AsyncTokenUtils { /** * 通过executor执行Callable,将callable的执行结果设置进token */ public static void execute(Executor executor,AsyncToken token,final Callable task) { executor.execute(new AsyncTokenRunnable(token,task)); } /** * 通过executor执行Runnable */ public static void execute(Executor executor,AsyncToken token,final Runnable task) { executor.execute(new AsyncTokenRunnable(token,task)); } /** * 通过executor执行Callable,将callable的执行结果设置进token */ public static AsyncToken execute(Executor executor,AsyncTokenFactory factory,final Callable task) { AsyncToken token = factory.newToken(); executor.execute(new AsyncTokenRunnable(token,task)); return token; } /** * 通过executor执行Runnable */ public static AsyncToken execute(Executor executor,AsyncTokenFactory factory,final Runnable task) { AsyncToken token = factory.newToken(); executor.execute(new AsyncTokenRunnable(token,task)); return token; } }