I write simple program with Fork/Join Framework. For first version of my program, that not working correct, I used the book "Herbert Shield. Java 7", for second - I used Google. Please, help me to understand, why code like in the book is not working correct?? What the difference?? Я пишу простую програму с использованием Fork/Join Framework. Для первой версии моей програмы я использовал, в качестве примера, код из книги Гербера Шилда "Java 7. Руководство для начинающих", для второй - код из Гугла. Почему версия из книги не работает должным образом (не все участки фрагментируются), ведь разница в коде только лишь в запуске допольнительного потока??
V1:
if (to - from < range) {
for (int i = from; i < to; i++) {
int result = checker.checkCode(i);
if (result != CodeChecker.INCORRECT_CODE) {
stop.set(true);
return result;
}
}
return CodeChecker.INCORRECT_CODE;
} else {
int middle = (int) (((long) from + to) >> 1);
BruteForceTask left;
BruteForceTask right;
left = new BruteForceTask(uri, from, middle, range, checker);
right = new BruteForceTask(uri, middle, to, range, checker);
left.fork();
right.fork();
int leftResult = left.join();
int rightResult = right.join();
return leftResult != CodeChecker.INCORRECT_CODE ? leftResult : rightResult;
}
V2:
else {
int middle = (int) (((long) from + to) >> 1);
BruteForceTask left;
BruteForceTask right;
left = new BruteForceTask(uri, from, middle, range, checker);
right = new BruteForceTask(uri, middle, to, range, checker);
left.fork();
int rightResult = right.invoke();
int leftResult = left.join();
return leftResult != CodeChecker.INCORRECT_CODE ? leftResult : rightResult;
}
Main:
ForkJoinPool pool = new ForkJoinPool();
BruteForceTask bruteForce = null;
bruteForce = new BruteForceTask(uri, from, to, range, codeChecker);
result = pool.invoke(bruteForce);
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Нужно реализовать такой функционал для входа в приложение через twitchПользователь в приложении (написанном на JavaFx) нажимает кнопку Login, открывается...
Как выделить какую-то произвольную область кода в IDE IntelliJ IDEA 20172