Глобальный список без привязки к файлу

justhelen

Client
Регистрация
18.11.2009
Сообщения
267
Благодарностей
134
Баллы
43
Привет, а можно ли как-то сделать глобальный список (один для всех потоков), но без привязки к файлу?

Объясню, зачем мне это. Я беру данные из базы данных с помощью другой проги, Зеннопостер может получить эти данные с помощью ГЕТ/ПОСТ запросов к локалхост. Есть одна таблица, данные из которой общие для всех потоков, при этом у каждого потока должны быть именно все строки из этой таблицы + каждый поток должен иметь возможность добавлять строки в этот список. Т.е. нужен именно глобальный список, но привязка к файлу не нужна.

Почему бы мне тогда не брать эти данные из базы каждый раз, когда они нужны? Ну, как-то не хочется делать столько запросов, потому что вообще можно же взять данные 1 раз, а потом пользоваться ими. Совсем не оптимально будет, если каждый раз брать из базы одно и то же (с небольшими изменениями), какое-то плохое решение.

Почему бы мне не сохранить тогда это всё в файл и не привязать список? Да вот как-то не хочется файл с 20к+ строк и вообще у меня есть база, которая как раз была сделана, чтобы было без файлов.

Искала на форуме, как можно сделать такой список, как мне надо. Не нашла.
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
не знаю насколько верно, но в общем коде можно попробовать создать класс со списком List<string> и в конструкторе класса добавить всю таблицу (если таблица, то несколько списков, определение строк по индексу). в самом шаблоне, в кубике си# проверять есть ли уже объект содержащий список, если нет то создавать, если есть то работать со списком - брать, изменять или добавлять. Не уверен, поскольку не знаю - будет ли созданный объект виден в других потоках и второй момент - когда завершается первая попытка, то и объект со списком умирает или нет - надеюсь знатоки подскажут, самому интересно стало.
Стандартных глобальных списков нет.
 
  • Спасибо
Реакции: justhelen

justhelen

Client
Регистрация
18.11.2009
Сообщения
267
Благодарностей
134
Баллы
43
не знаю насколько верно, но в общем коде можно попробовать создать класс со списком List<string> и в конструкторе класса добавить всю таблицу. в самом шаблоне, в кубике си# проверять есть ли уже объект содержащий список, если нет то создавать, если есть то работать со списком - брать, изменять или добавлять. Не уверен, поскольку не знаю - будет ли созданный объект виден в других потоках и второй момент - когда завершается первая попытка, то и объект со списком умирает или нет - надеюсь знатоки подскажут, самому интересно стало.
Стандартных глобальных списков нет.
К сожалению, у меня нет общего кода, потому что у меня старый Зеннопостер.

Мне тут пришло в голову решение :D Но это мне кажется как-то вообще... Можно вообще это действие с данными из той таблицы не делать в Зеннопостере. Можно просто отправить ГЕТ запрос на локалхост с параметрами типа там do=check_string (там у меня проверяется, содержат ли урлы то, что в строках в таблице) и просто получить ответ на ГЕТ запрос в виде да/нет. Ну и тогда глобальный список сделать в своей проге, да и всё :-) Не знаю, понятно ли объяснила. Вот дописала и мне это решение уже не кажется плохим даже :D
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)