Как получить значение глабальной переменной через переменную

Поддержка
  • Пока не вижу другого способа обойти этот костыль, по этому

    получаю ресурс и разбиваю строку допустим [[token]]=SF2;

    var token=[[TOKEN]];

    мне нужно будет из другого потока работать с этим токеном

    Допустим это установит глобальную переменную

    PSet("basglobal", token, '0');

    Как дальше использовать мне глобальную переменную [[GLOBAL:SF2]] Как подставить этот SF2? всякие eval и прочие хелп. Как обратиться к глобальной переменной зная ее название в переменной

    Суть моего скрипта такая:
    Запускается отдельный поток "сервер", который ждет токен и выдаст ответ
    И еще 50 потоков, которые отправляют токен и хотят получить ответ

    Эти 50 потоков асинхронно вызывают поток "сервер" и ждут завершения асинхронной функции

    Если пустить их вместе без лока - они перезаписывают результат в return

    Как правильно организовать не знаю, вижу такие способы:

    1. для каждого токена глобальная переменная
    2. при доступе одного из потоков блокировать поток "сервер" пока тот не выдаст ответа

    При пункте 2 у меня все равно умудряются проскочить несколько потоков и кто-то из них получит неверный ответ, так как сервер запускается асинхронно в одном и том же потоке

    Поток сервер мне нужно держать постоянно включенным

  • пункт 2 перепроверю, немного не в том месте был вызов функции и возможно проблема тогда решена

    но eval все равно интересен

    PS все таки пункт 2 после небольшого фикса работает отлично