2012-01-08 4 views
1

Скажем, у меня есть method1, вызывающ приватный method2, я использую замок для того чтобы обеспечить безопасность потока method1, мне нужно использовать замок на method2? method2 только вызывается через method1.Нужно ли блокировать зависимый закрытый метод?

+2

Вы должны работать над маркировкой вопросов с вопросительными знаками ('?') И операторами с полными остановками ('.'), в противном случае ваш пост довольно сложно переварить. –

ответ

2

Если method2 вызывается только method1, тогда вам не нужно использовать замок в method2. Одного замка в method1 достаточно.

Когда класс резьбы method1, она получит блокировку, вызов method2, method2не будут выполняются параллельно другим потоком, так как другой поток должен был назвать method1 первым, и в таком случае, method1 потерпит неудачу чтобы получить замок.

+0

Предполагая синхронизированные методы, это верно. Если синхронизация выполняется на разных объектах, то это может и не быть. –

Смежные вопросы