java 锁,入门新手

java 锁,入门新手

  1. 锁是什么?

游戏场景:

要想进高老庄高小姐的闺房,必须持有绣球一个,众武侠谁拿到绣球谁才进去,进去出来后,绣球可以重新被抢

闺房每个人都能进可以认为是 多线程的共享资源,众侠客就是 多线程,绣球 就是 锁  (ps:闭上眼想一下)

 

2.java里面的锁有哪些?

java 里面的场景和以上所说相似,所以设计了两套方案.(小声嘀咕:为啥两套)

(1)基于jvm 控制对象的synchronized 关键字

使用:1.同步代码块  2.同步方法 

(2)基于AQS 的Lock

ReentrantLock重入锁(不公平锁),ReentrantLock(true)公平锁,ReentrantReadWriteLock读写锁,StampedLockt特殊调整版读写锁

2.怎么使用

(1)synchronized

使用最简单,最方便,加方法名,写成代码块

不动手!!! 老子教不会的哦! 自己敲一遍

(2)Lock

new 一个lock  ,多线程控制该锁,标准写法:

lock.lock();

try{
    
}catch (Exception e){}finally {
   lock.unlock(); 
}

3.使用心得

(1)注意锁保护的资源是不是被多线程访问的资源

很多新手瞎用,一会new一个对象出来,被访问,还说加锁不生效,亲,你家的锁只有一个线程访问啊

(2)建议多写几个test代码,跑一下,自己理解下,眼高手低,看是看不会的 亲

idea 建立项目,跑demo test,专用 链接地址:https://blog.csdn.net/m0_37849875/article/details/100878721

(3)具体每一个锁相关使用模板(ps:没有银弹)及原理 

待我写完,重新放链接

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值