У меня есть класс IntentService, который можно запускать из разных мест в сложном приложении — действия, фоновые потоки, другие службы. Я хотел бы сохранить счетчик того, сколько раз вызывалась служба. Я использую частную переменную int в своем классе IntentService, чтобы отслеживать это, я увеличиваю ее из моего метода onStartCommand(...).
Мне пришло в голову, что, поскольку метод onStartCommand(...) можно вызывать из различных асинхронных потоков, это может быть не потокобезопасным решением. Итак, вопрос в том, нужно ли мне обернуть доступ к этой переменной счетчика в синхронизированном блоке, или реализация IntentService onStartCommand(...) позаботится об этом за меня?
В качестве примечания: я знаю, что могу безопасно увеличивать переменную с onHandleIntent(...), но мне нужно подсчитывать фактические запросы, а не выполненные намерения.