Ресурс в многопотоке путается.



  • Добрый вечер. Создаю ресурс на лету в скрипте. Гружу туда данные из файла у меня путаются строки со строками из других файлов. Скрипт многопоточный.
    В программе есть примечание такое в меню создания ресурсов. ```

    Настоятельно рекомендуется не использовать это действие в коде, который работает в нескольких потоках, потому что каждый поток создаст свой новый ресурс, и это, вероятно, не то, что вам нужно.
    

    Как мне рандомно использовать грузить строки из файла?



  • @Kodak said in Ресурс в многопотоке путается.:

    Добрый вечер. Создаю ресурс на лету в скрипте. Гружу туда данные из файла у меня путаются строки со строками из других файлов. Скрипт многопоточный.
    В программе есть примечание такое в меню создания ресурсов. ```

    Настоятельно рекомендуется не использовать это действие в коде, который работает в нескольких потоках, потому что каждый поток создаст свой новый ресурс, и это, вероятно, не то, что вам нужно.
    

    Как мне рандомно использовать грузить строки из файла?

    ресурсы глобальны, то есть если вы в каждом потоке вновь создаёте ресурс, то он пересоздаётся каждый раз



  • @Fox said in Ресурс в многопотоке путается.:

    @Kodak said in Ресурс в многопотоке путается.:

    Добрый вечер. Создаю ресурс на лету в скрипте. Гружу туда данные из файла у меня путаются строки со строками из других файлов. Скрипт многопоточный.
    В программе есть примечание такое в меню создания ресурсов. ```

    Настоятельно рекомендуется не использовать это действие в коде, который работает в нескольких потоках, потому что каждый поток создаст свой новый ресурс, и это, вероятно, не то, что вам нужно.
    

    Как мне рандомно использовать грузить строки из файла?

    ресурсы глобальны, то есть если вы в каждом потоке вновь создаёте ресурс, то он пересоздаётся каждый раз

    Подскажите чем мне еще можно воспользоваться, что бы была возможность в любом месте втыкать случайную строку? Списки не подходят, так как надо каждый раз выполнять СЛУЧАЙНЫЙ ЭЛЕМЕНТ. А если мне надо несколько десятков раз вставить в поле строку.



  • @Kodak Очень неоднозначно вы описали то, что вам нужно. Если вам надо просо рандомная строка (для пароля, к примеру), то есть действие "Случайная строка" в модуле "Инструменты". Если вам нужно рандомную строку из некоторого списка возможных, то я не понимаю, почему вам не нравится "Случайный элемент". Вы можете один раз присвоить значению переменной случайный элемент списка, а потом использовать эту переменную сколько вам будет угодно раз. Если вам всё же нужен ресурс (к примеру, если варианты строк лежат в файле), то его можно создать в функции "OnApplicationStart", а потом использовать в любом потоке



  • Попробую объяснить задачи моего скрипта. Который работает как надо, но в одном потоке.
    И так есть ГЛАВНЫЙ_ФАЙЛ.txt
    В котором 10 строк с путями к другим файлам.txt
    Пример:
    C:\WORKDIR\A_TEXT.txt;C:\WORKDIR\A_CONTENT.txt
    C:\WORKDIR\B_TEXT.txt;C:\WORKDIR\B_CONTENT.txt
    Этот файл я подгружаю из файла с ресурс. Он всегда статичен и предусмотрен для всех потоков.
    Беру из него строку и разделяю её. Занося пути к файлам в переменные.
    Получаю две переменные: PATH_TO_TEXT и PATH_TO_CONTENT

    Переменную PATH_TO_TEXT -> ЧИТАТЬ ФАЙЛ В СПИСОК - > СПИСОК В РЕСУРС (TEXT)
    Имеем ресурс TEXT, который берет не только одну строку из ГЛАВНЫЙ_ФАЙЛ.txt, а подтягивает в многопотоке файлы со следующей строки.

    Надеюсь понятно объяснил



  • @Kodak said in Ресурс в многопотоке путается.:

    Надеюсь понятно объяснил

    неа



  • Попробую еще раз, но уже описать задачу.

    Дано много wordpress блогов, в которые необходимо автоматически засабмитить необходимый контент.
    Есть основной файл в котором локальные пути до файлов с ТАЙТЛАМИ, файлов С ТЕКСТОМ, файлы с ссылками.
    Пример:
    C:\WORKDIR\B_TEXT.txt;C:\WORKDIR\B_CONTENT.txt

    Я разбираю строку и запихивают все данные в переменные, списки и ресурсы.
    Как мне взять случайную строку из файла например для НАЗВАНИЯ СТРАНИЦЫ?



  • @Kodak в ветке форума делись приложениями был мой пример как можно сделать получение случайной строки из файла без загрузки самого файла в бас

    или можно использовать решения для node.js



  • Создать ресурс в функции onapplicationstart
    Тогда он создается один раз и будет глобален. А в потоках уже работать с ним, добавляя в него что то или брать из него


Log in to reply