Java并发编程实战--读书笔记
Y_mmmmmmm
这个作者很懒,什么都没留下…
展开
-
2. 线程安全性
1.线程安全性线程安全类 当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些线程将如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么称这个类是线程安全的。正确性 某个类的行为与其规范完全一致。在良好的规范中通常会定义各种不变性条件(Invariant)来约束对象的状态,以及定义各种后验条件(Postcondition)来描述对象的操作结果原创 2017-07-03 21:44:23 · 276 阅读 · 0 评论 -
4. 对象的组合
1.设计线程安全的类在设计线程安全类的过程中,需要包含以下三个基本元素:找出构成对象状态的所有变量。找出约束状态变量的不变性条件。建立对象状态的并发访问管理策略。同步策略(Synchronization Policy) 同步策略定义了如何在不违背对象不变性或后验条件的情况下对其状态的访问操作进行协同。同步策略规定了如何将不可变性、线程封闭与加锁机制等结合起来以维护线程的安全性,并且还规定原创 2017-07-29 20:48:28 · 589 阅读 · 0 评论 -
3. 对象的共享
1.可见性 指线程之间的可见性。当一个线程修改了对象的某个状态后,对其他线程是可见的。也就是说其他线程能立即看到这个修改后的结果。Java指令重排序 在虚拟机层面,为了尽可能减少内存操作速度远慢于CPU运行速所带来的CPU空置的影响。虚拟机会将不满足happen-before规则的部分代码的执行顺序打乱——即写在后面的代码在时间顺序上可能先执行,而写在前面的代码可能会后执行,以尽可能充分地原创 2017-07-27 17:47:57 · 489 阅读 · 0 评论