Заполнение списка в многопотоке

elakeri

Client
Регистрация
23.07.2018
Сообщения
199
Благодарностей
10
Баллы
18
Подскажите плз, есть список, с него в многопотоке берутся строки.., ну с удалением под локом, все дела. Как можно организовать, что когда count = 0, список опять заполнить известным.. Думал типа резервный список, и потом при условии если список пуст, копировать с резервного. Но получается, что это условие могут поймать несколько потоков, и потом по очереди его копировать, дождавшись анлока прерыдущим потоком.
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113
Подскажите плз, есть список, с него в многопотоке берутся строки.., ну с удалением под локом, все дела. Как можно организовать, что когда count = 0, список опять заполнить известным.. Думал типа резервный список, и потом при условии если список пуст, копировать с резервного. Но получается, что это условие могут поймать несколько потоков, и потом по очереди его копировать, дождавшись анлока прерыдущим потоком.
так проверку на колличество строк в списке, надо продублировать внутри лока. тогда не будут путаться.
 
  • Спасибо
Реакции: elakeri

elakeri

Client
Регистрация
23.07.2018
Сообщения
199
Благодарностей
10
Баллы
18
Всмысле до лока проверить, и потом внутри?, Или достаточно просто внутри?
 
Последнее редактирование:

Deisler

Client
Регистрация
26.10.2019
Сообщения
486
Благодарностей
190
Баллы
43
А лочат ли стандартные кубики сейчас список и таблицу при записи ?
 

Tvister

Client
Регистрация
09.09.2010
Сообщения
255
Благодарностей
33
Баллы
28
А лочат ли стандартные кубики сейчас список и таблицу при записи ?
Лочат в пределах одного кубика. Т.е. если сделать "Взять строку из списка с удалением" то одну и ту же строку несколько потоков не возьмут. Так же и с записью.
 
  • Спасибо
Реакции: Deisler

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