摘要:
synchronized的作用主要有三个: 确保线程互斥的访问代码保证共享变量的修改能够及时可见(可见性)可以阻止JVM的指令重排序 在Java中所有对象都可以作为锁,这是synchronized实现同步的基础。 synchronized主要有三种应用方式: 普通同步方法,锁的是当前实例的对象静态同 阅读全文
摘要:
根据线程获取锁的抢占机制,锁可分为公平锁和非公平锁。 公平锁:线程获取锁的顺序是按照线程请求锁的时间顺序决定的,也就是最早请求的线程将最早获取到锁,即 FIFO 可用 JUC 中的lock提供了实现 ReentrantLock lock=new ReentrantLock (ture) 非公平锁:线 阅读全文