Вопрос про использвоание шабона в несколько потоков.

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

one

Client
Регистрация
22.09.2015
Сообщения
7 019
Реакции
1 314
Баллы
113
Делается шаблон, в котором используются списки и таблицы. С ними делаются следующие действия:

1. берется строка, обрабатывается и ложится в конец списка\таблицы.
2. берется строка и удаляется из списка\таблицы.

Как будут происходит дела в многопотоке? Ведь потоки могут пересекаться по времени исполнения нужной операции со списками\таблицами? Не будет конфликта? Шаблон построен на экшенах.
 
Делается шаблон, в котором используются списки и таблицы. С ними делаются следующие действия:

1. берется строка, обрабатывается и ложится в конец списка\таблицы.
2. берется строка и удаляется из списка\таблицы.

Как будут происходит дела в многопотоке? Ведь потоки могут пересекаться по времени исполнения нужной операции со списками\таблицами? Не будет конфликта? Шаблон построен на экшенах.
если списки привязаны то все будет норм, хотя и есть небольшой шанс что может случится баг! но % очень невелик )
 
  • Оценить
Реакции: one
Физически это файлы и привязаны в шаблоне.
 
В многопотоке лучше не удалять строчки, а использовать глобальные переменные которые увеличивать и при достижении последней строки - обнулять.
 
  • Оценить
Реакции: one
т.е. вместо удаления считать строки а значения счетчика записывать в глобальные переменные?
 
т.е. вместо удаления считать строки а значения счетчика записывать в глобальные переменные?
Да.
Я когда купил зенку, то сразу начал по логике удаления строки и добавления в конец.
Потом нашел на форуме решение по работе с глобальными переменными - это позволило поднять количество потоков (не нужно выполнять бессмысленную работу с файлами в каждом потоке).
И уже когда понял, что в многопотоке лучше избавиться от работы с файлами - перешел на работу с базой данных MySQL (в основном причина была в том, что нужно было на нескольких серверах вносить изменения во входящие настройки, заменять файлы или делать в них изменения - а для того чтобы все работало корректно приходилось перезагружать зеннопостер - при переходе на базу данных эти проблемы пропали сами по себе).
 
Понятно, спасибо за дельный совет! Я судя по всему иду по Вашим стопам. :D
 
А не могли бы Вы пояснить разницу глобальной переменной и локальной? Может примерчик какой не большой.
 

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