Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 中級開發 >> Concurrent並發庫常見問題總結

Concurrent並發庫常見問題總結

編輯:中級開發

對於android開發者來說掌握Java的concurrent並發庫十分重要,本次android123就並發庫的一些常見問題做總結:

  1. 原子操作

  如果你過去開發過Win32驅動可能發現很多Native API都是有關原子操作的(atomic Operation),對於Java來說int、boolean這樣的類型是原子的,而long和double就沒有那麼幸運了。原子操作是什麼呢? 比如說Java線程的停止,在早期的JDK中提供了Thread.stop方法,但這個並不是線程安全的,而目前我們停掉一個Java線程都是用一個boolean變量來設置一個標記,你考慮這個boolean標記的改變是通過外部的其他線程,這樣產生的同步問題如何解釋呢? 這就是原子操作帶來的好處,對於Long型我們可以使用Java 1.5以後加入的concurrent.atomic的AtomicLong,對於android來說支持以下原子類型:

AtomicBoolean、AtomicInteger、AtomicIntegerArray、AtomicIntegerFieldUpdater<T>、AtomicLong、AtomicLongArray、AtomicLongFieldUpdater<T> 、AtomicMarkableReference<V> 、AtomicReference<V> 、AtomicReferenceArray<E>、AtomicReferenceFIEldUpdater<T, V> 和AtomicStampedReference<V>  。

 2. 並發庫的CopyOnWriteArrayList

  對於CopyOnWrite機制可以解決讀取頻繁,寫入較少時的並發效果,有關這方面內容我們在 android開發之Java並發包集合類性能分析 有過講解。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved