Лок глобалки не работает между потоками

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 328
Благодарностей
5 431
Баллы
113
Приложил 2 шаблона для демонстрации. Запускаем оба в 1 поток в ZennoPoster.

Какова суть шаблонов:
В первом шаблоне лок 10 секунд и пауза после него 10 сек - т.е. в логе будет всегда +10 сек оповещения
Во втором шаблоне лок 5 секунд и пауза после него 5 сек - т.е. в логе будет всегда +5 сек

Как понять, что не работает лок между потоками
По логике они должны вставать в очередь и в логе временные интервалы сбиться должны. т.е. вместо 5 будет 15, или вместо 10 будет 15. но по факту ничего не изменно, и идет четко. Логика шаблонов предельна проста, глобалка залочена. Сам факт на лицо.
 

Вложения

ibred

Client
Регистрация
04.04.2015
Сообщения
3 835
Благодарностей
3 544
Баллы
113
Лок работает в рамках одного проекта, а не всех.
 

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 328
Благодарностей
5 431
Баллы
113
Лок работает в рамках одного проекта, а не всех.
В этом по сути и заключается суть проблемы. Как мне тогда залочить допустим список между двумя шаблонами?
 

ibred

Client
Регистрация
04.04.2015
Сообщения
3 835
Благодарностей
3 544
Баллы
113
Как мне тогда залочить допустим список между двумя шаблонами?
А списки и таблицы как раз лочатся глобально для всех шаблонов :-)
В кубиках это предусмотрено по умолчанию, а в коде необходимо использовать:
C#:
lock (SyncObjects.ListSyncer) {
// Здесь работа со списком
}
C#:
lock (SyncObjects.TableSyncer) {
// Здесь работа с таблицей
}
 
  • Спасибо
Реакции: Yuriy Zymlex и Mikhail B.

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 328
Благодарностей
5 431
Баллы
113
А списки и таблицы как раз лочатся глобально для всех шаблонов :-)
В кубиках это предусмотрено по умолчанию, а в коде необходимо использовать:
C#:
lock (SyncObjects.ListSyncer) {
// Здесь работа со списком
}
C#:
lock (SyncObjects.TableSyncer) {
// Здесь работа с таблицей
}
Ну тогда огонь! Спасибо за информацию))
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 611
Благодарностей
4 601
Баллы
113
Подстава от Ростоникса) Стало откровением
 

ibred

Client
Регистрация
04.04.2015
Сообщения
3 835
Благодарностей
3 544
Баллы
113
  • Спасибо
Реакции: Yuriy Zymlex

doc

Client
Регистрация
30.03.2012
Сообщения
8 611
Благодарностей
4 601
Баллы
113
Да, можете проверить самостоятельно :-)


Почему?)
Потому что я сам с глобалками научился работать по одному из его кодов, и с локами. И был искренне уверен в глобальности этого лока как и остальных)
И использовал этот лок. Возможно даже там, где не стоило. Сам тут давал коды с этим локом, опять же, возможно в ситуациях, в которых не стоило)
 
  • Спасибо
Реакции: orka13 и Mikhail B.

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
@ibred проект например имеет 5 списков с разными названиями, от такого лока смысла нет. только задержка будет проекта так как обращаясь один поток в лок, все потоки будут ожидать, по поводу что он блочит для разных проектов честно тоже такому удивлён
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 376
Благодарностей
3 301
Баллы
113

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 376
Благодарностей
3 301
Баллы
113
Кстати, заметил они устарели:
Снимок.PNG

Новый аналог посложнее и похоже можно задавать приоритеты.
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
Но то, что между шабами блочит - незнал.
тоже не знал да и что то никогда не проверял. щас тест сделал и реально второй в очереди минуту стоял ждал
Кстати, заметил они устарели:
откуда такая картинка ? у меня они норм отображаются
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 376
Благодарностей
3 301
Баллы
113
у меня они норм отображаются
вообще, должны:
Снимок.PNG
Проблем это не должно создать, если разрабы не удалят. Предупреждения же, можно скрыть.

А вот примеров новых на форуме нет :(
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
  • Спасибо
Реакции: Yuriy Zymlex

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113

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