Какая разница между запуском трех нитей у одного объекта и запуском по нити у трех объектов?
Допустим:
Water water = new Water("water");
for (int i = 0; i < threadCount; i++) {
threads.add(new Thread(water, "#" + i));
}
И вот это:
Water water1 = new Water("water1");
Water water2 = new Water("water2");
Water water3 = new Water("water3");
Collections.addAll(threads, new Thread(water1),new Thread(water2),new Thread(water3));