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

哪个行业最容易做网站国外网站视觉设计趋势

哪个行业最容易做网站,国外网站视觉设计趋势,wordpress ftp主机,wordpress 引入样式5.3 分布式锁-redission可重入锁原理 在Lock锁中,他是借助于底层的一个voaltile的一个state变量来记录重入的状态的,比如当前没有人持有这把锁,那么state0,假如有人持有这把锁,那么state1,如果持有这把锁的…

5.3 分布式锁-redission可重入锁原理

在Lock锁中,他是借助于底层的一个voaltile的一个state变量来记录重入的状态的,比如当前没有人持有这把锁,那么state=0,假如有人持有这把锁,那么state=1,如果持有这把锁的人再次持有这把锁,那么state就会+1 ,如果是对于synchronized而言,他在c语言代码中会有一个count,原理和state类似,也是重入一次就加一,释放一次就-1 ,直到减少成0 时,表示当前这把锁没有被人持有。

在redission中,我们的也支持支持可重入锁

在分布式锁中,他采用hash结构用来存储锁,其中大key表示表示这把锁是否存在,用小key表示当前这把锁被哪个线程持有,所以接下来我们一起分析一下当前的这个lua表达式

这个地方一共有3个参数

KEYS[1] : 锁名称

ARGV[1]: 锁失效时间

ARGV[2]: id + “:” + threadId; 锁的小key

exists: 判断数据是否存在 name:是lock是否存在,如果==0,就表示当前这把锁不存在

redis.call(‘hset’, KEYS[1], ARGV[2], 1);此时他就开始往redis里边去写数据 ,写成一个hash结构

Lock{

​ id + “:” + threadId : 1

}

如果当前这把锁存在,则第一个条件不满足,再判断

redis.call(‘hexists’, KEYS[1], ARGV[2]) == 1

此时需要通过大key+小key判断当前这把锁是否是属于自己的,如果是自己的,则进行

redis.call(‘hincrby’, KEYS[1], ARGV[2], 1)

将当前这个锁的value进行+1 ,redis.call(‘pexpire’, KEYS[1], ARGV[1]); 然后再对其设置过期时间,如果以上两个条件都不满足,则表示当前这把锁抢锁失败,最后返回pttl,即为当前这把锁的失效时间

如果小伙帮们看了前边的源码, 你会发现他会去判断当前这个方法的返回值是否为null,如果是null,则对应则前两个if对应的条件,退出抢锁逻辑,如果返回的不是null,即走了第三个分支,在源码处会进行while(true)的自旋抢锁。

"if (redis.call('exists', KEYS[1]) == 0) then " +"redis.call('hset', KEYS[1], ARGV[2], 1); " +"redis.call('pexpire', KEYS[1], ARGV[1]); " +"return nil; " +"end; " +"if (redis.call('hexists', KEYS[1], ARGV[2]) == 1) then " +"redis.call('hincrby', KEYS[1], ARGV[2], 1); " +"redis.call('pexpire', KEYS[1], ARGV[1]); " +"return nil; " +"end; " +"return redis.call('pttl', KEYS[1]);"

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

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

相关文章:

  • 期货网站做模拟seo优化外包公司
  • 如何选择建设网站类型wordpress的密码加密
  • 大气好看的网站专业网站营销
  • 网站建设 主要内容深圳营销型网站建设 宝安西乡
  • 网上做网站接活怎么样网站怎么管理
  • 网站接入服务 公司网页制作软件免费版dw
  • 论坛备案网站名称企业所得税
  • 用什么软件做商务网站构建网站无障碍建设
  • 什么网站用来做商城好wordpress图片列表页
  • 世界杯竞猜网站开发免费的黄台直播
  • python网站开发源码新东方烹饪学校
  • 中石化两学一做网站成都房地产信息网
  • 网站建设黄页在线免费深圳外贸英语培训
  • 来广营网站建设个人信息网站
  • 业绩显示屏 东莞网站建设技术支持Wordpress更改用户图标
  • 整站网站优化价格淘客网站要备案
  • 查看公司信息的网站邯郸人才网
  • 海外营销网站建设wordpress图片分组
  • 3liang 设计网站 源码第一ppt课件免费下载官网
  • 中国内销做哪个网站泉州网站建设
  • 自己做鞋子网站欢迎访问中国建设银行网站个人客户6
  • 百度网站关键字搜索怎么做谷歌站群系统
  • 随州网站建设wordpress自定义登录
  • 广州微网站建设个人网站代码html
  • 常见的静态网站开发技术山东企业网站备案
  • thinkphp手机网站开发seo公司官网
  • 赛车网站开发一键装修效果图软件
  • 网站售后服务手机网站设计小程序
  • 中国城乡建设部人力网站首页WordPress auto post
  • asp网站打不开付网站建设服务费记账