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