Многопоток и списки

  • Автор темы Автор темы Vik89
  • Дата начала Дата начала

Vik89

Client
Регистрация
05.11.2014
Сообщения
71
Реакции
14
Баллы
8
В шаблоне есть список (не привязанный к файлу).

При многопоточной работе этот список будет доступен сразу ВСЕМ потокам или же этот список будет доступен только Локально для каждого потока и для каждого потока будет своя уникальная копия этого списка в оперативке?
 
Если список не привязывается к файлу, то он создаётся отдельно для каждого потока и в каждом потоке он обрабатывается индивидуально.
 
  • Спасибо
Реакции: jiks и Vik89
Можно ли список сделать глобальным?
Возникаю проблемы с сохранением списка из которого берут несколько потоков.
 
Глобальный список это и есть список, привязанный к файлу. С галками "загружать из файла" и "сохранять изменения в файл"
 
Иногда на многопоточном режиме бывает что из файла берет одну строку несколько раз, как этого можно избежать?
 
  • Спасибо
Реакции: socsecret.ru
Иногда на многопоточном режиме бывает что из файла берет одну строку несколько раз, как этого можно избежать?
Удалять строку каждый раз при взятии из списка. Если список привязан с галками "загружать из файла" и "сохранять изменения в файл" то проблем быть не должно.
 
  • Спасибо
Реакции: gluckbahr
  • Спасибо
Реакции: gluckbahr
А если разные шаблоны используют один привязанный список с удалением строки, то не возникнут проблемы?
 
Есть 5 потоков. Каждый поток создаёт файл по адресу:
{-Project.Directory-}\снипеты{-Variable.random-}.txt Это делается во вложенном шаблоне кубиком сохранить в файл
Далее в основном шаблоне имеется привязанный файл (загружать из файла и сохранять изменения. Без галки оставлять пустой файл) с таким же адресом. И вот тут начинается непонятность. В перьвью файла текст есть, а при попытке его от туда взять текста нету
b88e51ae8da9.png

Как это исправить?
 
Работа с одним списком либо таблицей в многопотоке была и остаётся проблемной. Даже если брать строку с удалением, даже если везде стоят галочки - всё равно могут взяться одни и те же строки, или записаться данные в одно и тоже место. Я года 3 назад писал в ТП - мне сказали, что список локируется, и что пока один поток пишет туда данные, другие будут вставать в очередь и ждать . Но это же не правда. Да и мне кажется хорошо, что не правда, потому что при огромном количестве потоков это может привести к тормозам. Но как решать правильно эту проблему - не ясно. Было бы здорово иметь возможность иметь что-то типа глобального списка по аналогии с глобальной переменной.
 
Последнее редактирование:
Работа с одним списком либо таблицей в многопотоке была и остаётся проблемной. Даже если брать строку с удалением, даже если везде стоят галочки - всё равно могут взяться одни и те же строки, или записаться данные в одно и тоже место. Я года 3 назад писал в ТП - мне сказали, что список локируется, и что пока один поток пишет туда данные, другие будут вставать в очередь и ждать . Но это же не правда. Да и мне кажется хорошо, что не правда, потому что при огромном количестве потоков это может привезти к тормозам. Но как решать правильно эту проблему - не ясно. Было бы здорово иметь возможность иметь что-то типа глобального списка по аналогии с глобальной переменной.
тема 4-х летней давности :)
по спискам чего только за это время не написали. вот я у себя так решил эту проблему. https://zennolab.com/discussion/threads/ne-soxranjaet-tekst-v-spisok.53049/page-2#post-580788
а вообще по локам было ну очень много постов и статей.
 
Работа с одним списком либо таблицей в многопотоке была и остаётся проблемной. Даже если брать строку с удалением, даже если везде стоят галочки - всё равно могут взяться одни и те же строки, или записаться данные в одно и тоже место. Я года 3 назад писал в ТП - мне сказали, что список локируется, и что пока один поток пишет туда данные, другие будут вставать в очередь и ждать . Но это же не правда. Да и мне кажется хорошо, что не правда, потому что при огромном количестве потоков это может привести к тормозам. Но как решать правильно эту проблему - не ясно. Было бы здорово иметь возможность иметь что-то типа глобального списка по аналогии с глобальной переменной.

Я тоже заморочился решением проблемы с списком в многопотоке.
И решил вопрос просто. Поставил паузу 10 секунд в начале,
и везде где мог в циклах поставил удаление из списка строк содержащих текст переменной с которой работает поток.
За 10 секунд остается только одна истинная строка в списке..))
 
Последнее редактирование:
Я тоже заморочился решением проблемы с списком в многопотоке.
И решил вопрос просто. Поставил паузу 10 секунд в начале,
и везде где мог в циклах поставил удаление из списка строк содержащих текст переменной с которой работает поток.
За 10 секунд остается только одна истинная строка в списке..))
Тогда можно было и без паузы, ведь речь о глобальном списке. А вот с таблицей так не получается.

Работа с одним списком либо таблицей в многопотоке была и остаётся проблемной. Даже если брать строку с удалением, даже если везде стоят галочки - всё равно могут взяться одни и те же строки, или записаться данные в одно и тоже место. Я года 3 назад писал в ТП - мне сказали, что список локируется, и что пока один поток пишет туда данные, другие будут вставать в очередь и ждать . Но это же не правда. Да и мне кажется хорошо, что не правда, потому что при огромном количестве потоков это может привести к тормозам. Но как решать правильно эту проблему - не ясно. Было бы здорово иметь возможность иметь что-то типа глобального списка по аналогии с глобальной переменной.
Может так: https://zennolab.com/discussion/thr...opredlennoj-stroki-v-tablice-vozmozhno.99265/
?
 
Работа с одним списком либо таблицей в многопотоке была и остаётся проблемной. Даже если брать строку с удалением, даже если везде стоят галочки - всё равно могут взяться одни и те же строки, или записаться данные в одно и тоже место. Я года 3 назад писал в ТП - мне сказали, что список локируется, и что пока один поток пишет туда данные, другие будут вставать в очередь и ждать . Но это же не правда. Да и мне кажется хорошо, что не правда, потому что при огромном количестве потоков это может привести к тормозам. Но как решать правильно эту проблему - не ясно. Было бы здорово иметь возможность иметь что-то типа глобального списка по аналогии с глобальной переменной.
Была проблема схожая, БД решает многое, правда с настройкой заморочек полно.
 
Последнее редактирование:
Не могу ничего понять. В проджекте запускаю поток шлет 3 письма в минуту. Ставлю 60 потоков, шлют 40 писем в минуту. Как вообще работает многопоток? Инстансы стоят в очереди и ждут тело письма. Как это решать? Пробовал из списка забирать, из файла, разницы особо нет.... Кто то может что то посоветовать?
 
Не могу ничего понять. В проджекте запускаю поток шлет 3 письма в минуту. Ставлю 60 потоков, шлют 40 писем в минуту. Как вообще работает многопоток? Инстансы стоят в очереди и ждут тело письма. Как это решать? Пробовал из списка забирать, из файла, разницы особо нет.... Кто то может что то посоветовать?
трассировка проекта позволит увидеть затраты времени на выполнение экшенов и выяснить на их основе где именно образуется очередь
 
Не могу ничего понять. В проджекте запускаю поток шлет 3 письма в минуту. Ставлю 60 потоков, шлют 40 писем в минуту. Как вообще работает многопоток? Инстансы стоят в очереди и ждут тело письма. Как это решать? Пробовал из списка забирать, из файла, разницы особо нет.... Кто то может что то посоветовать?
Получить данные из списка : 0 секунд.
Отправить письмо : 20 секунд

И конечно в многопотоке дополнительная задержка это получение данных из списка *HAHA*

Трассировка то что показывает ?
 
Не могу ничего понять. В проджекте запускаю поток шлет 3 письма в минуту. Ставлю 60 потоков, шлют 40 писем в минуту. Как вообще работает многопоток? Инстансы стоят в очереди и ждут тело письма. Как это решать? Пробовал из списка забирать, из файла, разницы особо нет.... Кто то может что то посоветовать?
А почему вообще решили что проблема в получении данных?
Может
Большая нагрузка на интернет канал
Большая нагрузка на ресурсы компьютера

Увеличение потоков в Х раз не значит что скорость работы увеличится тоже в Х рз
 
канал 10 гигабит.
Точно не в интернете проблема, а в ожидании очереди..
А что трассировка может показать? Инстансы не висят, а ждут.
 
Получить данные из списка : 0 секунд.
Отправить письмо : 20 секунд

И конечно в многопотоке дополнительная задержка это получение данных из списка *HAHA*

Трассировка то что показывает ?
Получить данные из списка : 0 секунд.
Где такие настройки?
 
Получить данные из списка : 0 секунд.
Где такие настройки?
какие еще настройки ?

А что трассировка может показать? Инстансы не висят, а ждут.
покажет, где и сколько времени было затрачено на операциях.
один вопрос, а зачем ты их заставляешь ждать данные ? отдавай сразу, без ожидания :bk:
 
канал 10 гигабит.
Точно не в интернете проблема, а в ожидании очереди..
А что трассировка может показать? Инстансы не висят, а ждут.
Чего они ждут? Откуда информация что они ждут получения данных из таблицы?
Ты сам решил что проблема в ожидании данных. Доказательств этого не предоставил.
Вариантов может быть много почему "медленно работает"
 
Чего они ждут? Откуда информация что они ждут получения данных из таблицы?
Ты сам решил что проблема в ожидании данных. Доказательств этого не предоставил.
Вариантов может быть много почему "медленно работает"
Доказательства чего нужны?
Что 40 потоков 13 писем в минуту шлют? А в проджекте 1 поток 3 в минуту?
Я вижу что инстансы стоят и ждут получения данных из списка.
Какие на пример варианты? В шаблоне все четко выставлено.
 
Извиняюсь за беспокойство.
Инстансы на вводе застывают....
 
Можете подсказать. Включил браузер хром, в проджекте все ок отрабатывают клики по атрибутам, а в зенке в ничего не делает? Просто инстанс стоит и все.
 
Можете подсказать. Включил браузер хром, в проджекте все ок отрабатывают клики по атрибутам, а в зенке в ничего не делает? Просто инстанс стоит и все.
Просто инстанс стоит и все - не может быть
Если бы не нашел элемент то была бы ошибка
А так скорее всего "браузер не понимает что страница загрузилась" и ждет пока она загрузится до конца
Были такие проблемы с запросами к яндекс метрики
Если открыть инстанс, то внизу слева будет статус с кружком

Ну или есть какой-нибудь цикл который по кругу гоняет одни и те-же действия
 
Поставил версию 7.7.10. Все полетело. 11 переставлял, хром не работал на ней.
Видимо у хромиума стабильности от слова нет совсем... Инстансы зависают на ровном месте...
Всем спасибо за отзывчивость!
 
Поставил версию 7.7.10. Все полетело. 11 переставлял, хром не работал на ней.
Видимо у хромиума стабильности от слова нет совсем... Инстансы зависают на ровном месте...
Всем спасибо за отзывчивость!
ну если на стандартных кубиках все делаешь, то конечно :bk: еще и не такое встретишь.
а вообще они не зависают, а ожидают состояния окончания загрузки. если интересно, гугли про кубик состояние занятости ;-)
 
  • Спасибо
Реакции: blooedhuet

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