锁
EmineWang
计算机专业,资深java开发工程师,从事后端开发、架构方向,热爱技术,热爱分享,愿对你有所帮助,感恩大家的支持,欢迎来信交流~~
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
condition实现生产者和消费者
生产者 import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; public class ConditionProducer implements Runnable { private Lock lock; private Condition condition; p原创 2020-08-25 16:58:50 · 1389 阅读 · 0 评论 -
wait/notify,notifyAll
wait之后,持有对象锁的线程 A会释放当前锁,释放 cpu 资源进入waiting状态. notify :表示持有对象锁的线程A 会释放当前锁,通知JVM唤醒某个竞争改对象锁线程的线程X,线程A的Synchronized代码块执行完并释放了锁之后,线程X获得对象锁的权限,其他竞争线程继续等待。(即使线程X执行完毕,释放了对象锁,其他竞争线程仍然等待,直至有新的notify或者notify...原创 2019-12-02 17:23:54 · 240 阅读 · 0 评论 -
锁对象、偏向锁、轻量级锁、重量级锁
锁对象 在java中任何一个对象都能成为锁对象,java对象在内存中的存储结构主要有以下三个部分: 1、对象头 2、实例数据 3、填充数据 对象头的数据主要是一些运行时的数据,其简单结构如下 长度 内存 说明 32/64bit mark word hashcode,GC分代年龄,锁信息 32/64bit class metadata address 指向对象类型数据的指针 32/64bit array Length 数组的长度(当对象为数组时候) 从上面可以看出锁的信息是存储在对原创 2020-08-06 16:12:49 · 828 阅读 · 0 评论
分享