男生上锁了是什么意思 锁是什么意思( 三 )

进了大门 , 能不能直接进入具体坑位—可重入锁和不可重入锁

  • ReetrantLock和Synchronized都是可重入锁 。如图所示 , 一共3个坑位 , 钥匙有3把 , 只要你拿到大门的钥匙 , 就可以进去蹲坑 。可重入锁很有好处的耶 , 试想一下 , 当你兴高采烈拿到大门钥匙的时候 , 总觉得下一秒就可以冲进去蹲坑 , 谁知道 , 里边的坑位还有锁 , 并且里边还排着一堆人 , 这时候 , 只能说你完了 , 完了 , 尿裤子了 , 等”si“吧 , 女票在外边等那么久都等不着你 , 等待超时 , 女票远走 。哦豁 , 都完了 。
一个坑位只能蹲一个人 , 那坑位外边的洗手区呢—共享锁和排他锁
  • 一个坑位只能蹲一个人 , 你蹲了 , 我就不能蹲 。但洗手区 , 你可以洗 , 我可以洗 , 他可以洗 , 咱们可以一起洗 。ReentrantLock和Synchronized是排他的 , 我占了这个坑位 , 你就只能等着 。但ReadWriteLock不同 。虽然我拿了大门钥匙 , 但我只独占坑位 , 其他人想蹲坑需要等待 , 但只想洗洗小手的话 , 则大胆的往前走就阔以了 。所以也会经常发些 , 公厕常理来说是不关大门甚至没有大门锁的 , 只是每个坑位才有关门和开门的概念 。
要不要一直排队等 , 还是先去旁边抽根烟—自旋锁和适应性自旋锁
  • 自旋锁 , 就是你看着有人排队 , 然后你一直在队伍里边排着 , 直到你等到了一个坑位 , 然后离开 。炎炎烈日或者凛冽寒风 , 可怜的你就站在队伍里排着 , 很消耗生命体能的 。在程序里应该是耗费CPU吧 , 但也有好处 , 就是你可以第一时间拿到坑位 。适应性自旋锁 , 举个栗子吧:你现在看见有3个人进入大门进了小坑位了 , 这时候 , 突然有一个人出来洗小手手 , 但是突然她又进去蹲坑了—传说中的偏向锁 。这个时候是个人都会在这等的吧 , 希望就在不远的前方了 。—据说是轻量级的锁 。但是 , 万万没想到啊 , 这人也是蹲坑界的王者 , 你都等30分钟了 , 还没有出来 。等个鬼 , 咱不等了 。然后大喊一声:里边的勇士 , 假如出坑了 , 请大喊一声有坑位了 , 小的立马就来 。——好像是重量级的锁 。这时候 , 有好处也有坏处 。好处就是不用一直站着等啊 , 坏处就是得来回跑 , 其实哪个耗费体能多 , 还真说不准 , 看等待的时间长短吧 。
有没有开不了的锁