我有一个IntentService类,可以从复杂应用程序中的各个位置启动 - 活动、后台线程、其他服务。我想记录服务被调用的次数。我在我的 IntentService 类中使用一个私有 int 变量来跟踪它,我从我的onStartCommand(...)方法中递增它。
我突然想到,可以从各种异步线程调用 onStartCommand(...) 方法,这可能不是线程安全的解决方案。所以问题是,我是否需要将对该计数器变量的访问包装在同步块中,或者 onStartCommand(...) 的 IntentService 实现是否为我处理了这个?
作为说明,我知道我可以安全地从onHandleIntent(...)增加变量,但我需要计算实际请求而不是执行的意图。