![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
Aily_Jiang
为编程着魔的小仙女
展开
-
进程与线程的区别
进程是操作系统进行资源分配的单元,线程是CPU调度运行的单位;一个进程中可以包含很多线程,线程共享进程的内存等资源;每个进程拥有各自独立的一套变量,相互不影响,而线程则共享数据,会存在线程安全问题。...原创 2020-09-07 06:18:59 · 68 阅读 · 1 评论 -
Synchronized和ReentrantLock
Synchronized应用:加在方法里面,在方法里写同步块……原理:入锁,JVM如何加锁锁优化:锁的膨胀;轻量级锁,偏向锁……重量级锁;Mark Word记录对象的锁,锁的升级不可逆;锁的粗化,消除基于逃逸分析Synchronized是JVM内部的互斥锁;ReentrantLock是显示的互斥锁,加减锁需手动完成;其内部定义了继承AQS的内部类Sync,...原创 2020-08-27 16:45:22 · 70 阅读 · 0 评论 -
JMM如何解决原子性&可见性&有序性问题
原子性问题:JVM自身提供的对基本数据类型读写操作;通过Synchronized 和Lock能够保证任一时刻只有一个线程访问该代码块来保证代码块的原子性。可见性原创 2020-08-12 19:08:38 · 322 阅读 · 0 评论