0

У меня есть определенное требование, когда мне нужно обрабатывать большие данные с помощью какой-либо операции mysql, существует несколько прогонов подобного типа. Один пробег занимает около 2 часов.Многопроцессорная обработка Java

Если я запускаю каждый прогон в отдельной нити java, то не было значительного времени. Согласно моему пониманию, потоки java не являются многопроцессорными процессами, т. Е. Это единственный способ получить параллелизм, чтобы не улучшить использование ЦП.

Если есть какой-либо способ, я могу использовать несколько процессоров на одной машине через java, я думаю, это может сэкономить некоторое время для всех операций запуска.

Пожалуйста, дайте мне знать, если проблема здесь понятна и есть идеи по решению.

Спасибо, Ashish

+1

http://stackoverflow.com/questions/1223072/how-do-i-optimize-for-multi-core-and-multi-cpu-computers-in-java HTTP: // StackOverflow. com/questions/3330430/does-java-have-support-for-multicore-processor-parallel-processing – user2953680

+0

Я уверен, что это на самом деле вопрос SQL. – Dariusz

+1

Как вы знаете, что ваши вычисления не ограничены доступом к базе данных? –

ответ

0

Я думаю, что ваша проблема в вашем приложении или в MySQL. Java поддерживает многопоточность, и ваше приложение должно автоматически извлекаться из нескольких ядер. Возможно, существует общий ресурс, который необходимо синхронизировать.

Из того, что вы говорите, «обрабатывайте большие данные», я ставлю, что общий ресурс - это файл базы данных и память.

Если какой-либо прогон занимает минуту или больше (в вашем случае: 120 минут), вам будет лучше с несколькими процессами , так как накладные расходы на запуск JVM не учитываются.

Смежные вопросы