Многопоток

ну вот этот код вроде работает. я на своем списке проверил

C#:
Развернуть Свернуть Копировать
lock(CommonCode.SyncObject){
var list = project.Lists["Входные Email"];
    if(list.Count>0){  
        Random rand = new Random((int)DateTime.Now.Ticks);
        int str = rand.Next(0,list.Count);
        string url = list[str].Trim();
        list.RemoveAt(str);
        return url;
    }
    else throw new Exception("список ссылок пуст");
}
У него не работают коды потому что не добавлен блок
66472

В котором должен находится как раз этот объект: CommonCode.SyncObject
 
Не

могу к 7мерке привыкнуть просто. 5я более привычный интерфейс чтоли.
Надумаете переходить, пишите, бесплатно постараюсь подсказать и помочь перейти, так как если вы хотите идти в ногу со временем по шаблонам, то думаю стоит...
 
Эх, никто меня не слушает. Пойду бухну...

Смотри, получить рандомную строку. Это значит, от начала и списка и до конца. У нас есть список:
1
2
3

1-й поток получает рандомно 1. 2-й поток тоже получает рандомно 1. 3-й поток получает рандомно 3. Лок тут вообще не при чем. Как и удаление в данном случае ни на что не влияет, потому что в конечном счете строка возвращается в список. Пересечение происходит потому что получается случайная строка, а не потому что лок не работает
неее... погоди. это он получает рандомно цифир строки, а не фактически саму строку. при получении по номеру он должен лочить список. и удалять строку. и тогда у других таже цифирь будет ссылаться на другие строки. это в идеале. а как оно реализовано в кубике зенно фиг знает.
 
ну вот этот код вроде работает. я на своем списке проверил

C#:
Развернуть Свернуть Копировать
lock(CommonCode.SyncObject){
var list = project.Lists["Входные Email"];
    if(list.Count>0){  
        Random rand = new Random((int)DateTime.Now.Ticks);
        int str = rand.Next(0,list.Count);
        string url = list[str].Trim();
        list.RemoveAt(str);
        return url;
    }
    else throw new Exception("список ссылок пуст");
}
он работает, потому что строка не возвращается обратно в список
 
  • Спасибо
Реакции: BAZAg
Не

могу к 7мерке привыкнуть просто. 5я более привычный интерфейс чтоли.
1. Можно как-то получить ваш проект с кубиками проблемными, что бы я мог сложить рапорт о проблеме, что бы ее пофиксили, если реально она будет?
2. И сколько в списке минимум должно быть строк заполненных?
3. Есть какая-то последовательность или закономерность как часто появляется дубликат?
 
Да, коды не работали потому-что не был добавлен блок. Сейчас коды заработали, но проблема осталась(
 

Вложения

  • 2020-11-03_19-42-28.png
    2020-11-03_19-42-28.png
    59,1 KB · Просмотры: 92
Потому что ссылка берется с удалением и Ваша теория к данной проблеме не имеет никакого отношения
Да ну?
Всем привет. Нужна помощь.
Есть шаблон в котором из списка берется случайная ссылка с удалением. При включении шаблона в 2ва потока или более.. 1на и таже ссылка отрабатывает паралельно в разных потогках. Что изменить или добавить в шаб чтоб было все красиво?

По теме. 7.2.0.0. не воспроизводится. 100 потоков, 1000 выполнений, не одного пересечения. Так что я бы сто раз перепроверил, прежде чем рапорты в баг трекер слать. Прикрепил проект
 

Вложения

  • test.rar
    test.rar
    11,3 KB · Просмотры: 95
Да ну?


По теме. 7.2.0.0. не воспроизводится. 100 потоков, 1000 выполнений, не одного пересечения. Так что я бы сто раз перепроверил, прежде чем рапорты в баг трекер слать. Прикрепил проект

аа, это 7я версия проэкта. спасибо попробую чуть позже ознакомится, а то щас на 5й версии проэкт крутится.
 
аа, это 7я версия проэкта. спасибо попробую чуть позже ознакомится, а то щас на 5й версии проэкт крутится.
Если это вы мне в личку написали, тогда буду ожидать шаблон и посмотрю что с ним. А откуда в списке беруться строки? Они заготовленные заранее или парсятся в процессе работы бота?
 
Список привязан к файлу?
Если да, то в настройках списка отмечен чекбокс "Сохранять изменения списка в файл"?
66509
 
да ладно.... так тоже бывает ? :-)
Почему бы и нет? :-)
Всю тему перечитал и скринов настроек списка или шаблона от ТС не встретил.

По симптомам похоже - каждый поток создаёт локальную копию списка и работает с ней, отсюда и дубли при работе.
 
  • Спасибо
Реакции: Alexmd

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