Простое: рукапча ротейт
Сложное: ротнет
Как правильно построить логику многопотока?
-
У меня есть папка с тхт файлами, около 500, как мне построить логику так, чтобы потоки не брали одни и те же файлы, пробовал так (идея полная дичь но лучше не придумал): когда поток берет файл он его переносит в другую папку. Но этот способ не оказался удачным, поскольку бас не обновлял файлы, хотя в цикле есть * ресурс в список *, да знаю что это мега тупой костыль, к тому же не рабочий. Но я не понимаю как используя Бас оптимизировать такую многопоточность
-
@wxaaasd said in Как правильно построить логику многопотока?:
У меня есть папка с тхт файлами, около 500, как мне построить логику так, чтобы потоки не брали одни и те же файлы, пробовал так (идея полная дичь но лучше не придумал): когда поток берет файл он его переносит в другую папку. Но этот способ не оказался удачным, поскольку бас не обновлял файлы, хотя в цикле есть * ресурс в список *, да знаю что это мега тупой костыль, к тому же не рабочий. Но я не понимаю как используя Бас оптимизировать такую многопоточность
Используйте ресурс с типом "Файлы из папки"
-
@Fox
Попробовал для примера сделать так, в листе ресурсов есть ссылки на все тхт в папке, далее берется путь до тхт и передается в функцию SDF:

Где KAK Это переменная с ссылкой внутри, и после заходит в браузер. Но асинхронность не работает, потому что что-то не так делаю -
@wxaaasd у вас в папке 500 тхт фалов.
Создаёте ресурс "файлы из папки"
С настройками использовать строку 1 раз
Далее в main читаете файл через ресур.
Как только выполните, с ресурса исчезнет этот путь до файла.
Затем уже второй поток возьмёт новый файл и т.д. -
@mansory333 Спасибо!
Оно? Если да, то мне не совсем это нужно, поскольку мне нужно чтобы каждый поток брал инфу из своего тхт файла и потом к следующему переходил