如果找不到开箱即用的东西,那么推出自己的产品就不难了。您可以做的一件事是将每个任务包装在一个简单的类中,该类读取每个id唯一的队列,例如:
public static class SerialCaller<T> implements Callable<T> { private final BlockingQueue<Caller<T>> delegates; public SerialCaller(BLockingQueue<Caller<T>> delegates) { this.delegates = delegates; } public T call() throws Exception { return delegates.take().call(); }}
维护ID到队列以提交任务的映射应该很容易。满足条件(1),然后您可以寻找条件(2)的简单解决方案,例如Executors。newFixedThreadPool
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)