Многопоточность, чтение переменной, несколько lock - C#

Узнай цену своей работы

Формулировка задачи:

Смотрите, есть переменная, ее изменение происходит с помощью lock
Листинг программы
  1. int count = 0;
  2. // ...
  3. lock (countLockObject) count++;
а если мне надо

прочитать

значение, причем не суть важно на сколько оно будет точным (плюс минус как говорится), можно это делать без lock? не произойдет ни какой ошибки? мне надо в лог выводить его, по этому и не важно на сколько оно точное. Еще такой вопрос, если мне надо заблокировать несколько объектов, как быть, такая запись не работает:
Листинг программы
  1. lock (objectA, objectB);
  2. lock (objectA | objectB);
  3. lock (objectA || objectB);
тут всего 2, но в реале их может быть 5 и более. Еще такой вопрос, если пищу (разные объекты):
Листинг программы
  1. lock (objectA)
  2. {
  3. lock (objectB) count++;
  4. }
это нормально?

Решение задачи: «Многопоточность, чтение переменной, несколько lock»

textual
Листинг программы
  1. ref int count_controller

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.231 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут