juc
L雷歌儿
这个作者很懒,什么都没留下…
展开
-
两句话总结8锁问题
1、被synchronized 修饰的方法,锁的对象是方法的调用者也就是实际new的对象,先调用的先执行!执行sleep()方法的线程并不会释放锁。2、只要方法被 static 修饰,锁的对象就是 Class模板对象,这个则全局唯一!...原创 2020-07-17 09:23:00 · 84 阅读 · 0 评论 -
轻松了解Volatile关键字
Volatile关键字Volatile是java虚拟机提供的轻量级的同步机制。1、保证可见性可见性:举个例子,有三个线程A、B、C,假设A线程想要修改主内存中的一个数据num,因为每个线程都有自己的工作内存,想要修改数据的话,需要将num获得放到自己的工作内存,然后修改完成再返回给主内存。num在修改之前等于5,A线程修改之后变为8,当B线程或C线程再去拿num数据时,获得的是8而不是5,这就是保证了可见性。总结一句话就是,某一线程修改数据后,要立马通知其他线程自己修改了!public cl.原创 2020-07-16 16:41:58 · 96 阅读 · 0 评论