WEB开发网
开发学院手机开发Android 开发 Concurrent并发库常见问题总结 阅读

Concurrent并发库常见问题总结

 2011-07-24 08:14:03 来源:本站整理   
核心提示:对于Android开发者来说掌握Java的concurrent并发库十分重要,本次Android就并发库的一些常见问题做总结: 1. 原子操作 如果你过去开发过Win32驱动可能发现很多Native API都是有关原子操作的(atomic operation),Concurrent并发库常见问题总结,对于Java来

对于Android开发者来说掌握Java的concurrent并发库十分重要,本次Android就并发库的一些常见问题做总结:

  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并发包集合类性能分析 有过讲解。

Tags:Concurrent 并发 常见问题

编辑录入:coldstar [复制链接] [打 印]
赞助商链接