锁知识点

23 篇文章 0 订阅

当进程多线程开发使用的锁:

自旋锁:当线程获取不到锁时,就会一直尝试去获取锁。直到获取到锁为止,自旋锁中不能使用sleep代码,否则将会导致cpu无法切换回获取锁的线程,导致死锁的产生,自旋锁只适合锁住的时间很短的代码。

互斥锁:当线程获取不到锁时,cpu会把锁放到等待队列中,有更多的时间去执行别的线程。直到解锁为止

锁具有限制优化读写操作的作用

多进程开发使用的锁:

分布式锁:

redis分布式锁,使用redis的单线程特性,对key.set 赋值 当key不存在时才能赋值成功并设置过期时间,当线程设置成功key则表明该线程获得了锁,应开启一个线程一直为key的超时时间续航,保证一定能完成本次操作。当完成后删除key

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值