Welcome everyone

标签:多线程

java

volatile

volatile
volatile保证可见性不能保证原子性   《深入理解java虚拟机》中: /** * volatile变量自增运算测试 * * @author zzm */ public class VolatileTest { public...

汪明鑫 6年前 (2018-08-28) 737浏览 3评论 0喜欢

java

Lock

Lock
Lock更灵活,功能更丰富 public interface Lock { void lock(); void lockInterruptibly() throws InterruptedException; boolean tryLock(); ...

汪明鑫 6年前 (2018-08-28) 718浏览 0评论 0喜欢

java

synchronized

synchronized
synchronized是java内置关键字,解决共享数据冲突,是一个可重入锁 synchronized( 需要一个任意的对象(锁) ){ 代码块中放操作共享数据的代码 多个线程不能同时进行的部分 } 锁就是一个标记 如果用的不是一把锁,则两...

汪明鑫 6年前 (2018-08-28) 693浏览 0评论 0喜欢

java

可重入锁

可重入锁
设计一个不可重入锁 public class Lock{ private boolean isLocked = false; public synchronized void lock() throws InterruptedException{ ...

汪明鑫 6年前 (2018-08-28) 610浏览 0评论 0喜欢

java

CAS

CAS
【CAS    Compare and Swap】 CAS 的关键点在于,系统在硬件层面保证了比较并交换操作的原子性, 处理器使用基于对缓存加锁或总线加锁的方式来实现多处理器之间的原子操作。 CAS 是非阻塞同步的一种常见实现。 CAS不会把线程挂起,性能要好的多,通常是基于...

汪明鑫 6年前 (2018-08-28) 757浏览 0评论 0喜欢