2015-01-07 2 views
2

Недавно я присутствовал на интервью, и они подняли меня question.It былобъекта и класса Блокировка Уровень

«В каком контексте вы решаете, что вы должны пойти для блокировки объекта/уровень класса замок»?

Мой ответ был:

Если хотите применить концепцию синхронизации на статический метод, вы должны пойти для блокировки уровня Класс еще один должен идти на Блокировка объектов.

Есть ли лучший ответ для этого?

+2

Еще один плохо сформулированный вопрос интервью. «В каком контексте». Бессмысленно. – EJP

+0

ok, Был ли мой ответ правильным или было что-то большее, что я должен был добавить. – User27854

+0

@ user2900314 - На самом деле вы можете использовать * любую блокировку * как в статическом, так и в нестационарном контексте. Блокировки уровня класса и блокировки уровня экземпляра используются * по умолчанию *. Итак, в основном, сам вопрос является ошибочным. – TheLostMind

ответ

0

В вашем ответе кратко определяется, что такое блокировка объектов и блокировка класса, но не тогда, когда вы должны использовать их.

С блокировкой уровня объекта вы убедитесь, что разные потоки не могут сделать что-то небезопасное для одного и того же экземпляра объекта.

Блокировка уровня класса гарантирует, что разные экземпляры объекта в разных потоках не могут получить доступ к небезопасному кодовому блоку, который может быть статическим методом. Вы можете увидеть более подробную информацию in this answer

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