Я работаю над Java-приложением, которое работает на USB-накопителе. Он загружает несколько файлов с сервера на палочки и расшифровывает их. Каждый файл обрабатывается в своем потоке. Из-за ошибки в моей предыдущей реализации количество потоков не было ограничено, в результате чего некоторые файлы заканчивались размером 0 КБ, когда количество файлов было достаточно высоким (в нашем тесте у нас было 26 небольших файлов, по несколько КБ каждый) , Анализ показал, что загрузка не удалась в этом случае, то есть дешифрование не имело ничего общего, поскольку файлы были пустыми. Типичное количество неудачных загрузок в случае было 6. Исключения не были зарегистрированы. Я также проверил весь процесс с приложением, запущенным на компьютере, и загружаемыми там файлами, но проблема в этом случае не появлялась (с использованием Windows 7 и SSD-диска).Параллельный файл скачать на USB-накопитель в Java
Перейдя на фиксированный пул потоков с 10 потоками, проблема, похоже, исчезает. Тем не менее, я хочу быть уверенным, что проблема не появится снова в какой-то момент в будущем, но я хочу сохранить пул потоков, поскольку он явно ускоряет весь процесс. Вопрос в следующем: как быть уверенным, что я не использую слишком много потоков? Предполагается, что реализация будет работать как с USB 2.0, так и с 3.0 палочками.