В моем многопоточном приложении я использую некоторые переменные, которые могут быть изменены многими экземплярами за одно и то же время. Это странно, но он отлично справился без проблем ... но, конечно, мне нужно сделать его потокобезопасным. Я только начинаю с замков, поэтому я буду жаловаться на ваши советы:Замок в свойствах, хороший подход?
Когда клиент подключается, создается класс Client, где каждый клиент имеет свою переменную «A».
Иногда клиент не вызывает метод так:
Client selectedClient SelectOtherClientClassByID(sentID);
selectedClient.A=5;
Нет проблем до сих пор с этим, даже когда 5 классов делали в то же время (Threadpool), но я думал, что о добавлении замки A свойств ?
Как:
A {
get { return mA; }
set {
// use lock here for settting A to some value
}
}
Будет ли в порядке?
Спасибо ... btw для чтения потому что он может измениться во время чтения другим классом? – Petr
Не стоит запираться на этом, так как он доступен извне. –
Это может измениться во время настройки. Замок действует как барьер, предотвращая любые другие действия, пока владелец замка не освободит замок. –