Какой смысл использовать нестатическую локальную переменную в блокировке? - PullRequest
6 голосов
/ 24 февраля 2011

Пару раз я сталкивался с этим кодом, где в блокировке использовалась локальная переменная в классе (это НЕ статическая переменная).что это переменные экземпляра?

Ответы [ 2 ]

14 голосов
/ 24 февраля 2011

Есть ли какая-либо точка блокировки, учитывая, что это переменные экземпляра?

Несколько потоков могут работать с одним экземпляром, и блокировка необходима для обеспечения безопасности потока.Подумайте, например, об общей очереди.

5 голосов
/ 24 февраля 2011

Статическая блокировка будет полезна для управления доступом к статической переменной.Блокировка экземпляра будет полезна для управления доступом к переменной экземпляра.

Нет смысла использовать объект локальной блокировки для защиты локальной переменной (если только она не является захваченной внешней переменной анонимной функциив итераторе), поскольку другие потоки не будут иметь доступа ни к блокировке, ни к переменной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...