0

我一直在阅读有关 SMP 机器(x86/ARM)和编译器重新排序以提高效率的信息。现在我想创建一个计数器,变量作为 ActivityLifecycleCallbacks 实现的私有成员存在。对这个变量的操作是在来自 Android 的回调上执行的(它总是在 UI 线程上)。

现在因为“x++”不是原子语句。我需要使用 AtomicInteger 吗?即使变量总是只能在 UI 线程上访问?

4

1 回答 1

-1

如果它仅由 UI 线程访问,那么从技术上讲,不,您不需要使用AtomicInteger. 当我说访问时,我的意思是读取和写入。

但是,考虑到您在并发架构下工作,使用类似AtomicInteger或更高性能的并发对象可能更安全LongAdder

于 2019-12-04T17:46:52.573 回答