Многопоточность

strannic

Client
Регистрация
05.12.2010
Сообщения
224
Благодарностей
10
Баллы
18
Написал шаблон постера, в шаблоне в самом начале после логина в аккаунт происходит взятие ключевого слова из списка с удалением (к списку привязан файл, стоит галка сохранять изменения).
В однопотоке все работает нормально, когда запускаю многопоток начинают происходить странности.
Во-первых кейворд который берется он берется всеми потоками, несмотря что стоит галка удалять после взятия, а также берется случайный кейворд.
Во-вторых каким-то странным образом некоторая часть данных страницы пересекается во всех потоках, несмотря что каждый поток залогинен в отдельном аккаунты и данные никак не должны пересекаться. В шаблоне стоит в начале очистка кук и кеша.
Как может происходить смешение данных между потоками ?

Подскажите может я не правильно что-то делаю для многопотока ?

Пробовал на билдах
5.4.3.0
5.3.1.0
система win 2012 server 64bit
 
Последнее редактирование:

Nick

Client
Регистрация
22.07.2014
Сообщения
1 980
Благодарностей
815
Баллы
113
Авторы программы такие вещи делают с помощью вставок на C#, при этом там логика обязательно заворачивается в синхронизатор (для избежания вот таких глюков, как у твоего алгоритма):
Код:
// ищем в каждой строчке в таблице
lock(SyncObjects.TableSyncer)
{
твой код
}
Посмотрим, что скажут «зубры», можно ли многопоточно работать из «кубиков».
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 739
Благодарностей
8 828
Баллы
113
хоть я и не зубр, все же вставлю свои 3 копейки..
работал многопоточно из кубиков, на версии до 5.1.0.0 - все было распрекрасно..
версии свежее не пробовал - не проплачено обновление пока что..
 

strannic

Client
Регистрация
05.12.2010
Сообщения
224
Благодарностей
10
Баллы
18
Что-то ничего не понял, а тем более что нужно сделать чтобы решить задачу, и избавиться от смешения данных между страницами потоков. Смешение данных в данном примере - это когда в каждом потоке под разными залогиненными юзерами показываются несколько элементов на веб-странице у которых одни и те-же данные (одного из потоков), к примеру категории, хотя должны быть совершенно разные, никогда с таким странным явлением не сталкивался....
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 739
Благодарностей
8 828
Баллы
113
Что-то ничего не понял, а тем более что нужно сделать чтобы решить задачу, и избавиться от смешения данных между страницами потоков. Смешение данных в данном примере - это когда в каждом потоке под разными залогиненными юзерами показываются несколько элементов на веб-странице у которых одни и те-же данные (одного из потоков), к примеру категории, хотя должны быть совершенно разные, никогда с таким странным явлением не сталкивался....
а категории берутся из списка?
сколько строк в этом списке?
если рандомом берется из коротенького списка, то могут быть повторения, это же рандом, а не последовательный перебор строк..
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 708
Баллы
113
Что-то магическое пишите.
Прикладывайте пример.
Все работает со списками. если список привязан к файлу, и стоит галка "сохранять изменения" + используется взятие строки с удалением.
Во-вторых каким-то странным образом некоторая часть данных страницы пересекается во всех потоках, несмотря что каждый поток залогинен в отдельном аккаунты и данные никак не должны пересекаться. В шаблоне стоит в начале очистка кук и кеша.
Это вообще непонятно.
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 708
Баллы
113
разобрались в ЛС.

общие рекомендации для тех кто найдет тему по поиску:
1) Поставить настройку 1 поток на процесс
2) Отключить java plugins если возможно
 
  • Спасибо
Реакции: strannic

strannic

Client
Регистрация
05.12.2010
Сообщения
224
Благодарностей
10
Баллы
18
Да проблема решена, спасибо саппортам!

От себя добавлю опция
1) Поставить настройку 1 поток на процесс

Выглядит вот так
 

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