[英]UI Thread Bound AtomicInteger
我一直在閱讀有關 SMP 機器(x86/ARM)和編譯器重新排序以提高效率的信息。 現在我想創建一個計數器,並且該變量作為 ActivityLifecycleCallbacks 實現的私有成員存在。 對這個變量的操作是在來自 Android 的回調上執行的(它總是在 UI 線程上)。
現在因為“x++”不是原子語句。 我需要使用 AtomicInteger 嗎? 即使變量總是只能在 UI 線程上訪問?
如果它只能由 UI 線程訪問,那么從技術上講,不,您不需要使用AtomicInteger
。 當我說訪問時,我的意思是讀取和寫入。
但是,考慮到您在並發架構下工作,使用並發對象(如AtomicInteger
或更高性能的LongAdder )可能更安全。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.