#java #multithreading
#java #многопоточность
Вопрос:
Я провел нагрузочное тестирование с 1 потоком и с 40 потоками. В результате я получил, что действие (пример вставки данных в базу данных) выполняется быстрее в 1 потоке, чем в 40. Хорошо ли это или в 40 потоках это действие должно быть быстрее
Комментарии:
1. Зависит от того, что вы действительно хотите сделать
2. @TheLostMind можете ли вы привести пример, в какой ситуации выполнение в одном потоке происходит быстрее?
3. Вставка данных означает транзакции. Быстрее завершить одну транзакцию с 40 вставками, чем 40 транзакций с 1 вставкой. И вообще, не пытайтесь распараллеливать вставку базы данных.
4. @Marko Topolnik Для каждой вставки существует отдельная транзакция
5. То, что говорит @MarkoTopolnik, относится и к другим операциям ввода-вывода. Интенсивные операции с процессором выполняются лучше, если используется несколько потоков.
Ответ №1:
Зависит от действия. Например, если вы ищете один список массивов, вам не нужно 40, но если вы хотите параллельную обработку нескольких массивов, вы можете использовать несколько потоков