java多线程学习(五)
2018-06-11 本文已影响0人
wxz1997
一、装饰器模式
- Collections.synchronizedXXX(集合),返回该集合的同步集合。
- 缺点:并发性不高,可能导致遍历操作是线程不安全的。
二、并发集合

- 并发集合的内部实现往往借助于CAS操作或者细粒度锁。
- 遍历方式有快照和准实时,前者Iterator不支持remove(),后者支持,且两者在多个线程对同一集合进行遍历时,不适合共享同一个Iterator实例。
三、无状态对象
无状态变量不包含任何实例变量和可更新的状态变量,具有固有的线程安全性。调用其任意方法都需要加锁,但其自身方法的实现可能需要加锁,Servlet通常被设计为无状态变量。
四、不可变对象
类本身以及所有的字段都用final修饰,具有固有的线程安全性。
五、线程特有对象
每个线程仅创建并访问各自的线程特有对象实例,具有固有的线程安全性。