2016-09-22 2 views
0

Я использую одиночные классы, вводится кинжалом. Но если синхронизированные методы запускаются, но они завершаются. Но если я удаляю синхронизацию из методов, они работают хорошо. Если я вводю уроки сунглетонов кинжалом, я не должен использовать синхронизированные методы?Синглетные классы, вводимые кинжалом с синхронизированными методами

ответ

4

Кинжал и кинжал 2 сингл. И областные поставщики услуг используют internal double-checked synchronization. Если вы пишете метод singleton @Provides, он будет вызываться ровно один раз в синхронизированной среде, поэтому вам, вероятно, не придется беспокоиться об этом.

Если ваш метод @Provides делает что-либо небезопасное и ожидается, что он будет называться несколько раз, не беспокойтесь о маркировке чего-либо synchronized.

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