Локи для запросов

jkarsak37428

Client
Регистрация
20.12.2015
Сообщения
137
Реакции
11
Баллы
18
Всем привет! Есть локи для использования списков в многопотоке, а есть ли локи для использования запросов? То есть чтобы если один поток выполняет запрос другие ожидали
 
Есть
Локай список и проверяй.
 
ну так запросы тоже локай, будут ждать. Или тебе надо что бы потоки по очереди делали. Тогда надо еще лочить глобабки. :D
 
  • Спасибо
Реакции: jkarsak37428
Список итак локается, после этого идет гет/пост запрос как сделать чтобы они были последовательны а не одновременно?
ну так сделай проверку лока списка и потом делай запросы
 
ну так запросы тоже локай, будут ждать. Или тебе надо что бы потоки по очереди делали. Тогда надо еще лочить глобабки. :D
А как лочить запросы? Где посмотреть код? Мне необходимо чтобы запросы одновременно не шли
 
А как лочить запросы? Где посмотреть код? Мне необходимо чтобы запросы одновременно не шли
Скажи им запросы вот смотрите на список.
Один запрос видит что список не локнут и решает сделать запрос и сразу блочит его обратно как запрос выполнен он дарит списку носки и тот уже входит в анлок и на него смотрит другой запрос и тд
 
  • Спасибо
Реакции: jkarsak37428
я как то мьютекс использовал, тоже тема удобная, пока разрешения пиз...ть не даш другие потоки молчат )))))))))
 
  • Спасибо
Реакции: jkarsak37428
Получается сам запрос тоже необходимо затолкать в конструкцию лока?
  1. lock (SyncObjects.ListSyncer){
  2. Работа со списком
  3. Делаем запрос
  4. }
 
  • Спасибо
Реакции: Mikhail B.
Получается сам запрос тоже необходимо затолкать в конструкцию лока?
  1. lock (SyncObjects.ListSyncer){
  2. Работа со списком
  3. Делаем запрос
  4. }

если важно что получится на выходе после запроса то да ?
только выйдя с него все потоки это действия повторят с запросом имено
 
  • Спасибо
Реакции: jkarsak37428
и если у тя будет запущено в 100 потоков и на этом запросе глючнет, то всё висеть будет, не вижу смысла его блочить если нет глобальной какой то что бы передать последующим потокам что повторять нинадо
 
  • Спасибо
Реакции: jkarsak37428
Да наверное в моем случае лучше глобальную вводить, как сразу недодумался хз
 
Да наверное в моем случае лучше глобальную вводить, как сразу недодумался хз

тут тебе ещё неделю придётся с глобалками помучаться
минусы сразу такие скажу, если сам не надумаешь чтобы глобалку обнулить при любом старте то придётся всегда зенку перезагружать чтобы только обнулить глобалку
 
  • Спасибо
Реакции: Mikhail B.
тут тебе ещё неделю придётся с глобалками помучаться
минусы сразу такие скажу, если сам не надумаешь чтобы глобалку обнулить при любом старте то придётся всегда зенку перезагружать чтобы только обнулить глобалку
Я сделал обнуление, при успешном завершении проекта. Но вот если сам завершаешь или по ошибке завершается. то уже обнулить не удается. Можно сделать по бедэнду обнуление конечно, но что если 1 поток упадет, а остальные будут работать, это тоже не приемлемо.
 
тут тебе ещё неделю придётся с глобалками помучаться
минусы сразу такие скажу, если сам не надумаешь чтобы глобалку обнулить при любом старте то придётся всегда зенку перезагружать чтобы только обнулить глобалку
Хм получается тогда можно изначальное значение из файла дергать?
 
а вообще есть такой косяк у зенки, и лок не спасает, выставив 100 потоков и нажав старт три потока могут быть уже находиться в локе
 
Хм получается тогда можно изначальное значение из файла дергать?

я тебе ничего не продаю сразу говорю, даже не намекаю на себя, нет из файла дёргать это плохое решение, лучше закажи какой то кусок кода
 
Я сделал обнуление, при успешном завершении проекта. Но вот если сам завершаешь или по ошибке завершается. то уже обнулить не удается. Можно сделать по бедэнду обнуление конечно, но что если 1 поток упадет, а остальные будут работать, это тоже не приемлемо.

я себе сделал решение что глобалка при любом старте обнуляется
 
я себе сделал решение что глобалка при любом старте обнуляется
В принципе. Если поставить обнуление в начале шаблона потом паузу, и уже распределение потоков, то должно сработать. Надо попробовать.

Единственные минусы, это огромные паузы в начале шаблона, что бы потоки не пресекались.
 
В принципе. Если поставить обнуление в начале шаблона потом паузу, и уже распределение потоков, то должно сработать. Надо попробовать.
эти галочки не пробывал, так как они всё для браузерных шаблонов и настройки больше для инстансов
 
В принципе. Если поставить обнуление в начале шаблона потом паузу, и уже распределение потоков, то должно сработать. Надо попробовать.

Единственные минусы, это огромные паузы в начале шаблона, что бы потоки не пресекались.
а если потоки постоянно добавлять необходимо, теперь ума не приложу что то
 
Хм получается тогда можно изначальное значение из файла дергать?

сейчас конечно не найду, но прежде чем что то написать я люблю тестить, и мои скрины тестов есть на форуме что при локе в 10 потоков заходит сразу 2 потока
 
а если потоки постоянно добавлять необходимо, теперь ума не приложу что то
Да не подойдет если добавлять. А если ты знаешь заранее что надо допустим 30 потоков. то данный метод подойдет.
 
А просто запрос в лок обернуть нельзя? То есть со списком чтобы одновременно все было без лока а уже на запросе происходил лок, как то вот так нужно даже
 
В принципе. Если поставить обнуление в начале шаблона потом паузу, и уже распределение потоков, то должно сработать. Надо попробовать.

Единственные минусы, это огромные паузы в начале шаблона, что бы потоки не пресекались.
больше 10 глобалок на этом видео, и они все обнуляются при старте, независимо успешно шаб завершился или сам прервал
 

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