建议这样做:
abstract public class Action<T> implements Runnable { private final T param; public Action(T param) { this.param = param; } @Override public final void run() { work(param); } abstract protected void work(T param);}与:
ExecutorService exec = Executors.newSingleThreadExecutor();while () { exec.submit(action);}exec.shutdown();exec.awaitTermination(Long.MAX_VALUE, TimeUnit.MILLISECONDS);


