Вопрос по работе lock(SyncObjects.ListSyncer){...}

WebBot

Client
Регистрация
04.04.2015
Сообщения
1 761
Благодарностей
1 389
Баллы
113
Всем привет.

Вопрос по блокировке: есть два работающих потока ... первый допустим дошел до lock(SyncObjects.ListSyncer){...} и начал выполнять какие-то манипуляции со списком list1 ... второй в это же самое время пытается прочитать значение project.Lists["list1"].Count ... у него это получиться? Или он все же будет ждать пока первый поток отработает этот кусок и только потом получит project.Lists["list1"].Count ?

В общем меня интересует какая ставиться блокировка .. только на одновременную запись или на чтение тоже?
 

DmitryAk

Client
Регистрация
14.12.2016
Сообщения
860
Благодарностей
822
Баллы
93
В общем меня интересует какая ставиться блокировка .. только на одновременную запись или на чтение тоже?
Ну если следовать обычной логике локов, то блокировка должна быть полная. Т.е. стандартная критическая секция к которой имеет доступ только один поток.
 
  • Спасибо
Реакции: WebBot

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