Java代码在编译后会变成Java字节码,字节码被类加载器加载到JVM里,JVM执行字节码,最终需要转化为汇编指令在CPU上执行,Java中所使用的并发机制依赖于JVM的实现和CPU的指令。...
第一级缓存:单例池singletonObjects ConcurrentHashMap <beanName, bean对象>
可重入锁的意思上边这个代码 a b都用到锁 执行b的时候不会因为a获取锁后还没释放而无法获得锁不能执行代码 a获得锁后 执行b后不用再获取锁 直接执行就可以...
import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.redis.core.StringRedisTemplate;import org.springframework.data.r...
注意:大多线程是模拟出来的(感官上的多线程同步),真正的多线程指的是有多个CPU/核。
一般使用lock.lock();就try catch 在finally里释放锁:lock.unlock(); 功能和synchronized差不多 比synchronized轻量
notify() 方法随机唤醒对象的等待池中的一个线程,进入锁池;notifyAll() 唤醒对象的等待池中的所有线程,进入锁池。
Semaphore 是 synchronized 的加强版,作用是控制线程的并发数量
reentrantLock 也是支持重入的,不过他是需要显示的获取重入锁,并且它还可以支持非公平和公平锁: