У меня возникла проблема с многопотоковой обработкой, когда только один поток успешно завершен, другие также завершены (с помощью future.isdone(), чтобы знать), но, похоже, обрабатывают только половину кодов в вызываемый, я думаю, что следующий код может быть проблемой.Передача элемента списка объекту
for (int i = 0 ; i < threads ; i++) {
System.out.println(i);
callables.add(new MyCallable(companyNameParts.get(i),
companyNumberParts.get(i),companySICCodeParts.get(i),frame));
}
Какие из следующих утверждений (это) верно:
1.Only значение companyNameParts.get (I), передается в объект
2.The весь список companyNameParts передается объекту, тогда значение получается из списка.
3. Ссылка на список передается объекту.
Поскольку я выполняю многопотоковый проект, я стараюсь не делиться никакими данными среди них, чтобы уменьшить сложность, может быть, это место, где я случайно передаю данные так или иначе? (Я имею в виду, что компания NameParts непреднамеренно подвергается каждой теме как-то?)
Любой отзыв высоко ценится. Заранее спасибо.
Просьба продлить фрагмент кода, включив точку, в которой вы начинаете выполнение потоков. –