Скажем, у меня есть method1
, вызывающ приватный method2
, я использую замок для того чтобы обеспечить безопасность потока method1
, мне нужно использовать замок на method2
? method2
только вызывается через method1
.Нужно ли блокировать зависимый закрытый метод?
1
A
ответ
2
Если method2
вызывается только method1
, тогда вам не нужно использовать замок в method2
. Одного замка в method1
достаточно.
Когда класс резьбы method1
, она получит блокировку, вызов method2
, method2
не будут выполняются параллельно другим потоком, так как другой поток должен был назвать method1
первым, и в таком случае, method1
потерпит неудачу чтобы получить замок.
+0
Предполагая синхронизированные методы, это верно. Если синхронизация выполняется на разных объектах, то это может и не быть. –
Смежные вопросы
- 1. Нужно ли блокировать эту очередь?
- 2. Нужно ли функции "StreamWriter.WriteLine()" блокировать() "?
- 3. Нужно ли мне блокировать объект при чтении?
- 4. Закрытый метод, вызывающий соглашения
- 5. Доступен ли закрытый метод Ruby в подклассе?
- 6. Закрытый метод встраивание
- 7. MySQL мне нужно блокировать таблицы?
- 8. Как протестировать HttpWebRequest Зависимый метод?
- 9. Мне нужно полностью блокировать фид
- 10. Почему метод «printperson()» вызывает закрытый метод подкласса?
- 11. Закрытый метод наиважнейшая и видимость
- 12. PHPUnit: как переопределить и проверить зависимый метод
- 13. Нужно ли блокировать файл Selenium Webdriver при Threading?
- 14. Нужно ли блокировать при использовании захваченной переменной в другой резьбе
- 15. Нужно ли блокировать перед установкой некоторого ведра в redisson?
- 16. Нужно ли блокировать одновременный доступ SQLite для операторов SELECT?
- 17. Нужно ли мне блокировать в AddOrUpdate параллельного словаря?
- 18. Нужно ли нам блокировать при кешировании в приложении asp.net mvc?
- 19. Нужно ли блокировать переменные thread_local с помощью мьютекса?
- 20. Нужно ли «блокировать» таблицу Sql во время задания обновления?
- 21. Нужно ли мне блокировать параллельный метод, который принимает ReadOnlyCollection как параметр?
- 22. Нужно ли переопределять метод hashcode?
- 23. Нужно ли использовать метод AlarmManager.cancel()?
- 24. Можно ли указать метод main() как закрытый или защищенный?
- 25. Зачем нам нужно блокировать() перед wait()?
- 26. Несколько потоков - мне нужно блокировать чтение данных?
- 27. Закрытый метод `получает называется для (NoMethodError) Рубин
- 28. Может ли метод async блокировать переменную вместо вызова метода?
- 29. Синхронизированный метод может не блокировать блокировку
- 30. Может ли функция блокировать мьютекс?
Вы должны работать над маркировкой вопросов с вопросительными знаками ('?') И операторами с полными остановками ('.'), в противном случае ваш пост довольно сложно переварить. –