
effectiveJava
iteye_14840
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
线程安全性5种级别
线程安全性5种级别1. 不可变不变的对象绝对是线程安全的,不需要线程同步,如String、Long、BigInteger2. 无条件的线程安全对象自身做了 足够的内部同步,也不需要外部同步,如 Random 、ConcurrentHashMap、Concurrent集合、atomic3. 有条件的线程安全对象的...2011-09-09 15:48:33 · 728 阅读 · 0 评论 -
EffectiveJava2 第66条:同步访问共享的可变数据
保证线程安全方法 :1, 不要跨线程访问共享变量2, 使共享变量是 final类型的3, 将共享可变数据的操作加上同步当多线程共享可变数据时,每个读或者写的线程都必须执行同步。可变数据同步方法:1. synchronized2. volatile 共享原子数据,非原子操作也要同步3. ReentrantLock锁4. Atomic...2011-09-09 15:50:50 · 177 阅读 · 0 评论 -
EffectiveJava2第67条:避免过多同步
第67条:避免过多同步66条说了不同步的危险,本条讲的是过度同步的问题。过度同步,可能性能降低、死锁、或不确定的行为。并发程序第一步要保证正确,第二步才是性能。不能在同步区域内调用外部方法,缩小同步的代码范围。 反面教材集合Iterator时不能 remove元素否则会产生并发修改异常 ConcurrentModificationException//...原创 2011-09-09 15:52:13 · 174 阅读 · 0 评论