一、Android多线程同步概述。
线程同步是多线程在共享数据集上的互斥与协作。
互斥:多线程在共享数据集上排队执行。
协作:多线程在共享数据集上协作执行。
二、Android中多线程互斥的实现。
应用场景:
1.多个线程。
2.共享数据集
3.共享数据集上的操作为非原子操作
实现过程:对数据集加锁
1.同步代码块synchronized()
2.同步方法
public synchronized void put(){}
public static synchronized void take(){}
说明:
1.实例方法默认用this作为对象锁,
2.静态方法默认使用类对象(类名.class)作为对象锁。
总控:
1.StringBuffer是一个线程安全的StringBuilder。
2.ArrayList是一个线程不安全的集合。
3.HashMap是一个线程不安全的集合。
说明:
在线程不全的环境使用集合时需要考虑线程安全集合的应用,如:
1.Collections.synchronizedList(list)
2.CocurrentHashMap 线程安全并且高效的Hashmap。