- Регистрация
- 20.04.2015
- Сообщения
- 6 052
- Благодарностей
- 6 481
- Баллы
- 113
Приветствую.
Столкнулся со следующей ситуацией. Обрисую действия.
Берем строку из списка, если есть - все ок, если нет, то дальше идут действия (надо взять все файлы из папки и подпапок)
1. Берем все файлы и получаем текстовый файл вида
C:/zenka/proekti/papka1/papka2/papka3/papka4/papka5/papka6/Files/25-8-2020/43j534kjb53k45nk34.file
C:/zenka/proekti/papka1/papka2/papka3/papka4/papka5/papka6/Files/25-8-2020/qekertiu3847y528435342.file
то есть после взятия всех файлов мы имеем огромные текстовик, на 500мб - это конечно же затрудняет сильно работу, по работе с файлом.
что предпринял (MySQL использовать не хочу - не советуйте)
Обрезаем все строки до такого вида: 25-8-2020/qekertiu3847y528435342.file ... и файл начинает весить 30мб, что значительно ускоряет работу
В дальнейшем данная строка пути ( C:/zenka/proekti/papka1/papka2/papka3/papka4/papka5/papka6/Files/ ) просто подставляется из переменной
Но вся проблема заключается в том, что при много потоке, когда заканчиваются строки, каждый из потоков делает сбор данных файлов, и конечно же получается белиберда.
Вопрос:
Как сделать так, чтоб на кубиках была обработка данного участка в один поток, чтоб просто корректно отрабатывал взятие и последующую манипуляцию. Можно конечно перед действиями поставить задержку по времени в секах типа от 50-150, и первый поток все сделает, но если более одного потока закончат ожидание в одно и тоже время... не вариант получается.
спасибо
Столкнулся со следующей ситуацией. Обрисую действия.
Берем строку из списка, если есть - все ок, если нет, то дальше идут действия (надо взять все файлы из папки и подпапок)
1. Берем все файлы и получаем текстовый файл вида
C:/zenka/proekti/papka1/papka2/papka3/papka4/papka5/papka6/Files/25-8-2020/43j534kjb53k45nk34.file
C:/zenka/proekti/papka1/papka2/papka3/papka4/papka5/papka6/Files/25-8-2020/qekertiu3847y528435342.file
то есть после взятия всех файлов мы имеем огромные текстовик, на 500мб - это конечно же затрудняет сильно работу, по работе с файлом.
что предпринял (MySQL использовать не хочу - не советуйте)
Обрезаем все строки до такого вида: 25-8-2020/qekertiu3847y528435342.file ... и файл начинает весить 30мб, что значительно ускоряет работу
В дальнейшем данная строка пути ( C:/zenka/proekti/papka1/papka2/papka3/papka4/papka5/papka6/Files/ ) просто подставляется из переменной
Но вся проблема заключается в том, что при много потоке, когда заканчиваются строки, каждый из потоков делает сбор данных файлов, и конечно же получается белиберда.
Вопрос:
Как сделать так, чтоб на кубиках была обработка данного участка в один поток, чтоб просто корректно отрабатывал взятие и последующую манипуляцию. Можно конечно перед действиями поставить задержку по времени в секах типа от 50-150, и первый поток все сделает, но если более одного потока закончат ожидание в одно и тоже время... не вариант получается.
спасибо
Последнее редактирование: