![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java中的锁
程序员的程序媛
这个作者很懒,什么都没留下…
展开
-
JAVA中的锁
首先,java每个对象都一个监视器(monitor)锁,当monitor被占用时,处于锁定状态,其他线程尝试monitorenter执行来获取锁的所有权。过程如下: 如果monitor进入数时0,则该线程进入monitor,拿到该对象的锁,将进入数设置为1,该线程是monitor的所有者。 如果线程已经占有该monitor,只是重新进入,则将monitor进入数加1(不理解重新进入)。 如果其他线...原创 2019-07-03 21:26:39 · 103 阅读 · 0 评论 -
CAS的实现
CAS是英文单词Compare And Swap的缩写,翻译过来就是比较并替换。 CAS机制当中使用了3个基本操作数:内存地址V,旧的预期值A,要修改的新值B。 更新一个变量的时候,只有当变量的预期值A和内存地址V当中的实际值相同时,才会将内存地址V对应的值修改为B。 这样说或许有些抽象,我们来看一个例子: 1.在内存地址V当中,存储着值为10的变量。 2.此时线程1想要把变量的值增加1。对线程...原创 2019-07-19 21:56:50 · 1804 阅读 · 0 评论