Concurrent并发库常见问题总结 Android开发技术

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

 3.

本人擅长Ai、Fw、Fl、Br、Ae、Pr、Id、Ps等软件的安装与卸载,精通CSS、JavaScript、PHP、ASP、C、C++、C#、Java、Ruby、Perl、Lisp、Python、Objective-C、ActionScript、Pascal等单词的拼写,熟悉Windows、Linux、OS X、Android、iOS、WP8等系统的开关机。

通过下面的方式来联系我们:

电邮:138762189@qq.com

联系QQ:点击这里给我发消息

官方站:www.tadke.com

※ ※ 联系请加我的企鹅号 ※※

※ ※技术支持请微信联系站长 ※※

Copyright © 2023 Tadke.com. 琼ICP备20000547号