[Java并发-21-并发设计模式] Balking模式:线程安全的单例模式

2019-07-12
阅读 3 分钟
1.4k
上一篇文章中,我们提到可以用“多线程版本的 if”来理解 Guarded Suspension 模式,不同于单线程中的 if,这个“多线程版本的 if”是需要等待的,而且还很执着,必须要等到条件为真。但很显然这个世界,不是所有场景都需要这么执着,有时候我们还需要快速放弃。

[Java并发-3]Java互斥锁,解决原子性问题

2019-04-10
阅读 7 分钟
2.8k
在前面的分享中我们提到。 一个或者多个操作在 CPU 执行的过程中不被中断的特性,称为“原子性” 思考:在32位的机器上对long型变量进行加减操作存在并发问题,什么原因!? 原子性问题如何解决 我们已经知道原子性问题是线程切换,而操作系统做线程切换是依赖 CPU 中断的,所以禁止 CPU 发生中断就能够禁止线程切换。 在...