同时运行多个线程池(ExecutorService)的java
我有一个对象需要运行4个场景。我想把它分成两个线程(这样我就可以发送到另一个服务器) 我让这两台服务器都能正常工作,但在试图清理代码的过程中,我创建了这样的代码
ExecutorService executor1 = Executors.newFixedThreadPool(1);
ExecutorService executor2 = Executors.newFixedThreadPool(1);
executor1.execute(userProvisioner1);
executor1.execute(userProvisioner2);
executor2.execute(userProvisioner3);
executor2.execute(userProvisioner4);
executor1.shutdown();
executor2.shutdown();
while (!executor1.isTerminated()&!executor2.isTerminated()) {
}
userProvisioner1
&userProvisioner2
需要按顺序运行(就像3&4一样),但可以沿着彼此的一侧运行
这确实有效,但自从尝试同时使用这两个池以来,我遇到了一些问题。这是游泳池的问题还是其他问题
# 1 楼答案
如果需要顺序活动,可以调用一个任务,然后调用另一个任务。在您的案例中,简单的解决方案是这样的