我试图借助线程池将10条记录添加到不同的服务器,并等待响应以获取服务器端添加的信息,但是当我在末端执行代码时,我得到的几个线程的响应相同,但是存储在服务器端的数据是每个记录的唯一值。
ExecutorService threadPool = Executors.newFixedThreadPool(10);
List<Future<Employee>> listOfEmployee = new ArrayList<Future<Employee>>();
List<Employee> employeeList = new ArrayList<Employee>();
for(int i=0;i<10;i++)
{
listOfEmployee.add(threadPool.submit(new Callable<Employee>() {
@Override
public Employee call()
{
return employee.add();
}
}));
}
threadPool.shutdown();
threadPool.awaitTermination(100,TimeUnit.MILLISECONDS);
for(Future<Employee> future : listOfEmployee)
{
employeeList.add(future.get());
}
什么是导致此问题的根本原因?