Обработка списков в потоке

jslby

Client
Регистрация
02.01.2016
Сообщения
77
Благодарностей
5
Баллы
8
Здравствуйте!
Возможно я уже надоел тут всем своими вопросами, но просто негде больше спросить :-)
Я использую списки в своем шаблоне, которые привязаны к файлам и берут от туда строку с удалением. Подскажите, в мультипотоке будет в каждом потоке создан свой экземпляр списка/файла, или они будут брать как задание из данного файла
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113
Если список привязан к файлу, то все потоки будут "пользоваться" одним списком. Если не привязан, то у каждого потока создается свой экземпляр списка, но по факту, если можно так сказать, тоже одним.
 
Последнее редактирование:
  • Спасибо
Реакции: jslby

jslby

Client
Регистрация
02.01.2016
Сообщения
77
Благодарностей
5
Баллы
8
Если список привязан к файлу, то все потоки будут "пользоваться" одним списком.
Хорошо. Тогда еще вопрос: есть экшн привязки списка к файлу, а есть просто настройка у списка, где есть привязка. В чем разница?
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113
В том что в настройках списка вы привязываете конкретный список до начала выполнения шаблона, а экшеном список привязывается в любое время к любому файлу во время выполнения шаблона.
 

jslby

Client
Регистрация
02.01.2016
Сообщения
77
Благодарностей
5
Баллы
8
В том что в настройках списка вы привязываете конкретный список до начала выполнения шаблона, а экшеном список привязывается в любое время к любому файлу во время выполнения шаблона.
Т.е. для нормальной работы не нужно выполнять два условия сразу, достаточно одного. Правильно?
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113
Да, все верно!
 
  • Спасибо
Реакции: jslby

jslby

Client
Регистрация
02.01.2016
Сообщения
77
Благодарностей
5
Баллы
8
А есть ли способ создать список вне потока, который будет очищаться и не зависеть от одного потока?
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
Создавайте файл экшеном Файл с рандомным именем и привязывайте его к списку экшеном операции со списком - привязать к файлу)
 

jslby

Client
Регистрация
02.01.2016
Сообщения
77
Благодарностей
5
Баллы
8
Создавайте файл экшеном Файл с рандомным именем и привязывайте его к списку экшеном операции со списком - привязать к файлу)
А по другому никак?) Просто есть скажем папка с профилями. Потоки должны подгружать профили из этой папки, и менять их во время работы, но в тоже время не использовать уже использованные. Я решил это списком всех файлов, но хотелось бы как-то более изящно.
 

jslby

Client
Регистрация
02.01.2016
Сообщения
77
Благодарностей
5
Баллы
8
Создавайте файл экшеном Файл с рандомным именем и привязывайте его к списку экшеном операции со списком - привязать к файлу)
Просто таким образом нужно будет выносить глобальную переменную с именем файла
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
мне кажется проще составить список профилей в txt файле, брать оттуда данные с удалением
 

jslby

Client
Регистрация
02.01.2016
Сообщения
77
Благодарностей
5
Баллы
8
мне кажется проще составить список профилей в txt файле, брать оттуда данные с удалением
Да, я так и делаю. Но приходится постоянно удалять данный файл перед работой шаблона, и внутри шаба делать проверку на его существование
 

Amigo123

Client
Регистрация
18.01.2020
Сообщения
25
Благодарностей
0
Баллы
1
мне кажется проще составить список профилей в txt файле, брать оттуда данные с удалением
Добрый день, столкнулся с ситуацией: в многопотоке при подгрузке профилей (они в виде фалов zpprofile) не понятно как реализовать их работу без пересечений, так-как это требует кубика директории, а в нем нет возможности удалить файл после взятия , или внести изменения в папку, и получается в каждом потоке из папки с профилями будет подгружаться один и тот-же список профилей что приведет к пересечению т.е. дублированию. Как этот момент правильно реализовать ?
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
Добрый день, столкнулся с ситуацией: в многопотоке при подгрузке профилей (они в виде фалов zpprofile) не понятно как реализовать их работу без пересечений, так-как это требует кубика директории, а в нем нет возможности удалить файл после взятия , или внести изменения в папку, и получается в каждом потоке из папки с профилями будет подгружаться один и тот-же список профилей что приведет к пересечению т.е. дублированию. Как этот момент правильно реализовать ?
если без кода
1. Брать рандомный профиль из списка и перемещать его в рабочую папку.
2. После отработки - возвращать профиль в изначальную папку.
3. Придумать костыль, который будет повторно обновлять список профилей, если при попытке перемещения (в ситуациях, когда другой поток переместил профиль раньше) возникла ошибка и возвращаться к пункту один. Ограничить этот костыль 1-2 повторами максимально
с кодом 1 и 2 пункт оборачиваются в лок, что исключает необходимость в 3м пункте
 
  • Спасибо
Реакции: Sergodjan

Amigo123

Client
Регистрация
18.01.2020
Сообщения
25
Благодарностей
0
Баллы
1
если без кода
1. Брать рандомный профиль из списка и перемещать его в рабочую папку.
2. После отработки - возвращать профиль в изначальную папку.
3. Придумать костыль, который будет повторно обновлять список профилей, если при попытке перемещения (в ситуациях, когда другой поток переместил профиль раньше) возникла ошибка и возвращаться к пункту один. Ограничить этот костыль 1-2 повторами максимально
с кодом 1 и 2 пункт оборачиваются в лок, что исключает необходимость в 3м пункте
Спасибо за совет, а что такое костыль ?
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113

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