当前位置: 首页 > news >正文

网站建设网公司名字大全两个字

网站建设网,公司名字大全两个字,表白网页在线生成网站,wordpress和织梦哪个更简单队列重拍 先说一下当前的加锁状态 anyLock由客户端A持有队列中是客户端B、客户端C并且客户端B现在是排在头部 那么队列重拍就是队列中某个客户端长时间没有重新申请加锁,没有刷新分数,就会被队列中挤掉。 假设这个长时间没有加锁的客户端是B。 总结 …

队列重拍

先说一下当前的加锁状态

  • anyLock由客户端A持有
  • 队列中是客户端B、客户端C
  • 并且客户端B现在是排在头部

那么队列重拍就是队列中某个客户端长时间没有重新申请加锁,没有刷新分数,就会被队列中挤掉
假设这个长时间没有加锁的客户端是B。

总结

分析代码有些啰嗦,所以先总结流程:

  • 客户端B长时间没有加锁,没有刷新时间分数
  • 客户端C加锁刷新之后,分数超过了B
  • 那就将客户端B的线程从队列中移除,客户端 C变成头部
  • 客户端B如果再次申请加锁的话,会排在C的后面
  • 这个就是队列重排

过程

恍恍惚惚的,又行进到了10:00:36秒,客户端C来进行的重新尝试进行加锁,此时客户端B他其实在这之前不知道可能因为网络原因或者是别的什么原因,可能他就是没有尝试过重新加锁

进入while true,拿到队列第一个元素的timeout时间,10:00:30 <= 10:00:36,条件成立

zrem redisson_lock_timeout:{anyLock} UUID_02:threadId_02,就从有序集合中将客户端B移除了,lpop redisson_lock_queue:{anyLock},就从队列中将客户端B也移除了
在这里插入图片描述

此时队列的第一个元素是客户端C,他的timeout时间是10:00:35 <= 10:00:36,条件成立,从有序集合以及队列中删除掉客户端C

尝试进行加锁,不成立,因为客户端A还持有着那把锁

重新排队入队,pttl anyLock = 23000毫秒
ttl = 23000毫秒
timeout = 23000毫秒 + 10:00:36 + 5000毫秒 = 10:01:04

zadd和rpush两个指令,将客户端C压入队列和有序集合中

假设此时,在10:00:38,客户端B再次尝试来进行加锁,while true退出

尝试加锁,不成立

重新尝试入队

ttl = 10:01:04 - 10:00:38 = 26000毫秒
timeout = 26000毫秒 + 10:00:38 + 5000毫秒 = 10:01:09

zadd和rpush两个指令,重新尝试入队
在这里插入图片描述

从这个里面,我们可以看到,在一个客户端刚刚加锁之后,其他的客户端来争抢这把锁,刚开始在一定时间范围之内,时间不要过长,各个客户端是可以按照公平的节奏,在队列和有序集合里面进行排序

在一定时间范围内,时间不要过长,其实队列里的元素顺序是不会改变的,各个客户端重新尝试加锁,只不过是刷新有序集合中的分数(timeout),各个客户端的timeout不断加长,但是整体顺序大致还是保持一致的

但是如果客户端A持有的锁的时间过长,timeout,这个所谓的排队是有timeout,可能会在while true死循环中将一些等待时间过长的客户端从队列和有序集合中删除,一旦删除过后,就会发生各个客户端随着自己重新尝试加锁的时间次序,重新进行一个队列中的重排,也就是排队的顺序可能会发生变化

客户端跟redis通信的网络的一个问题,延迟,各种情况都可能会发生

客户端释放锁,释放锁之后队列中的排队的客户端是如何依次获取这把锁的,是按照队列里的顺序去获取锁的

http://www.yayakq.cn/news/157895/

相关文章:

  • wordpress 企业整站企业网页设计素材
  • 建设部网站监督平台洛阳 网站建设
  • 湖北交投建设集团有限公司网站网站开发要求有哪些
  • 山东省建设执业师之家官方网站旅游网站推荐
  • 阿里云网站开发服务器室内设计师常用网站
  • 加强网站建设与管理的通知牛年起广告公司名字
  • 网站上线步骤网站设计加油站
  • 如何申请国外网站wordpress 文章页调用
  • 抽奖的网站怎么做外贸企业网络营销
  • 建设网站的技术难点html网站设计
  • 酒泉网站建设专家网站开发语言哪一种好些
  • 做网站的桔子什么网站上线前做环境部署
  • 分类信息网站建设系统国内专业做网站
  • 郑州网站建设哪家好怎么样php mysql网站后台源码
  • 手机访问网站页面丢失桂林互联网
  • 邯郸网站推广建材网中国建材第一网
  • 九江学网站建设苏州注册公司代理公司
  • 自己切片视频做网站产品项目开发流程图
  • 上海网站开发广告软文范例200字
  • 网站开发所遵循的佛山应用软件开发
  • 网站怎么进行网络推广网站seo计划书
  • 网站制作哪个好薇wordpress怎么加
  • 专业做网站路桥网络建设规划方案怎么写
  • 怎么做盗版电影网站吗湘潭做网站建设的公司
  • 门户网站app有哪些施工企业资质认定2022
  • 建英文网站有用吗网页设计与制作教程知识点
  • h5网站建设图标做瓜子进出口用哪些网站
  • 六安人社局网站秦皇岛黄金海岸旅游攻略
  • 七牛云wordpressseo免费诊断电话
  • 寻花问柳一家只做属于男人的网站从化营销型网站建设