Android UI操作并不是线程安全的并且这些操作必须在UI线程中执行。Android利用Handler来实现UI线程的更新的。
Handler是Android中的消息发送器,其在哪个Activity中创建就属于且紧紧属于该Activity。还可以说其在哪个线程中new的,就是那个线程的Handler。
Handler的定义: 主要接受子线程发送的数据, 并用此数据配合主线程更新UI...
分类:
移动开发 时间:
2014-07-02 08:42:18
阅读次数:
340
Vector简介
Vector也是基于数组实现的,是一个动态数组,其容量能自动增长。
LinkedList是JDK1.0引入了,它的很多实现方法都加入了同步语句,因此是线程安全的(其实也只是相对安全,有些时候还是要加入同步语句来保证线程的安全),可以用于多线程环境。
LinkedList没有丝线Serializable接口,因此它不支持序列化,实现了Cloneable接口,能被克隆,实现了RandomAccess接口,支持快速随机访问。
Vector源码剖析
Vector的...
分类:
编程语言 时间:
2014-07-02 07:42:51
阅读次数:
349
HashMap 是Hashtable 的轻量级实现(非线程安全的实现),他们都完成了Map 接口,主要区别在于HashMap 允许空(null)键值(key),由于非线程安全,在只有一个线程访问的情况下,效率要高于Hashtable。HashMap 允许将null 作为一个entry 的key 或者...
分类:
其他好文 时间:
2014-07-01 22:44:17
阅读次数:
344
这里不考虑分布式或者多台负载均衡的情况只考虑单台机器,多台服务器可以使用分布式锁。出于线程安全的原因,很多种场景大家可能看代码中看到lock的出现,尤其是在资金类的处理环节。 理论常识不多说,回到业务场景,举个例子我们的需求一般就是在某个订单进入某个安全优先级比较高的流程时要针对这笔订单做到线...
分类:
Web程序 时间:
2014-07-01 22:06:15
阅读次数:
310
单例模式三种写法:第一种最简单,但没有考虑线程安全,在多线程时可能会出问题public class Singleton{ private static Singleton _instance = null; private Singleton(){} public static S...
分类:
其他好文 时间:
2014-07-01 20:39:28
阅读次数:
263
Android考虑到线程安全问题,不允许在线程中执行UI线程,在Android中,有一个类:android.os.Handler,这个可以实现各处线程间的消息传递。先看段代码,这个实例化了一个Handler,Handler可以通过Message在多个线程通讯,这里做的是定时recLen加1,然后以一...
分类:
移动开发 时间:
2014-07-01 20:17:50
阅读次数:
312
java.util.concurrent介绍 java.util.concurrent 包含许多线程安全、测试良好、高性能的并发构建块。不客气地说,创建 java.util.concurrent 的目的就是要实现 Collection 框架对数据结构所执行的并发操作。通过提供一组可靠的、高性能并发构...
分类:
编程语言 时间:
2014-07-01 13:19:25
阅读次数:
275
LinkedList简介
LinkedList是基于双向循环链表(从源码中可以很容易看出)实现的,除了可以当做链表来操作外,它还可以当做栈、队列来使用。
LinkedList同样是非线程安全的,只在单线程下适合使用。
LinkedList实现了Serializable接口,因此它支持序列化,能够通过序列化传输,实现了Cloneable接口,能被克隆。
LinkedList源码剖析
LinkedList的源码如下(加入了比较详细的注释):...
分类:
编程语言 时间:
2014-07-01 09:55:43
阅读次数:
283
尊重版权:http://cantellow.iteye.com/blog/838473
第一种(懒汉,线程不安全):
Java代码
public class Singleton { private static Singleton instance; private Singleton (){} public static S...
分类:
编程语言 时间:
2014-07-01 07:22:33
阅读次数:
251
ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存。
ArrayList不是线程安全的,只能用在单线程环境下,多线程环境下可以考虑用Collections.synchronizedList(List l)函数返回一个线程安全的ArrayList类,也可以使用concurrent并发包下的CopyOnWriteArrayList类。
ArrayList实现了Serializable接口,因此它支持序列化,能够通过序列化传输,实现了R...
分类:
编程语言 时间:
2014-06-30 17:01:32
阅读次数:
240