Медленная запись в списки, медленное чтение из таблиц

socsecret.ru

Client
Регистрация
30.09.2017
Сообщения
346
Благодарностей
209
Баллы
43
Столкнулся с серьёзной проблемой. Зеннопостер весьма медленно делает запись в файлы, и медленно их читает, особенно таблицы. И всё бы ничего, еслиб это только было медленно. Но ведь возникает сопутствующая беда: если с документом работают несколько потоков, и, скажем, надо брать из списка одну строку, а потом удалять её, то запросто так может получиться, что два или более потока берут эту самую строку, потому что список просто не успевает обновляться.
Вопрос: как избавиться от этой проблемы?
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
список обновляться успевает. Брать строки из списка при работе с многопотоком следует с удалением
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 116
Баллы
113
Столкнулся с серьёзной проблемой. Зеннопостер весьма медленно делает запись в файлы, и медленно их читает, особенно таблицы. И всё бы ничего, еслиб это только было медленно. Но ведь возникает сопутствующая беда: если с документом работают несколько потоков, и, скажем, надо брать из списка одну строку, а потом удалять её, то запросто так может получиться, что два или более потока берут эту самую строку, потому что список просто не успевает обновляться.
Вопрос: как избавиться от этой проблемы?
а это действительно так или просто теория?
на каждый проект (потоки проекта) создается копия списков и таблиц в памяти, с ними происходит работа, и время от времени данные обновляются в привязанных к ним файлах..
поэтому видимо создается иллюзия, что все работает медленно..
 
  • Спасибо
Реакции: WebBot и socsecret.ru

socsecret.ru

Client
Регистрация
30.09.2017
Сообщения
346
Благодарностей
209
Баллы
43
а это действительно так или просто теория?
на каждый проект (потоки проекта) создается копия списков и таблиц в памяти, с ними происходит работа, и время от времени данные обновляются в привязанных к ним файлах..
поэтому видимо создается иллюзия, что все работает медленно..
Т.е. на все потоки создаётся единый список и с ним идёт работа? И если в одном потоке происходит изменение списка - это же происходит и во всех остальных потоках?
И "время от времени" - это как?
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
Т.е. на все потоки создаётся единый список и с ним идёт работа? И если в одном потоке происходит изменение списка - это же происходит и во всех остальных потоках?
И "время от времени" - это как?
список единый, если привязан к файлу. Список висит в оперативе и чтобы не давать нагрузку на жесткий, файл обновляется не через каждое изменение списка, в время от времени, может каждые 5-10 секунд
 
  • Спасибо
Реакции: socsecret.ru

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