zdd小小菜鸟 zdd小小菜鸟
2年前
分布式锁面试
分布式锁面试引言tex为什么要使用分布式锁?为了保证一个方法在高并发情况下的同一时间只能被同一个线程执行,在传统单体应用单机部署的情况下,可以使用Java并发处理相关的API(如ReentrantLcok或synchroniz
Stella981 Stella981
3年前
SpringBoot 2.0集成Redisson实现分布式锁(redis
一般提及到Redis的分布式锁我们更多的使用的是Redisson的分布式锁,Redis的官方也是建议我们这样去做的。Redisson(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fgithub.com%2Fredisson%2Fredisson%2Fwiki%2F2.%25E9%25
Wesley13 Wesley13
3年前
Mysql MyISAM与InnoDB 表锁行锁以及分库分表优化
<divclass'title\_1'一、两种存储引擎:MyISAM与InnoDB区别与作用</div1.count运算上的区别:因为MyISAM缓存有表metadata(行数等),因此在做COUNT(\)时对于一个结构很好的查询是不需要消耗多少资源的。而对于InnoDB来说,则没有这种缓存。2.是否支持事务和崩溃后
Wesley13 Wesley13
3年前
go并发基础数据加锁解锁
packagemain//go携程共享数据//加锁解锁操作//同步锁import("sync""fmt")funccomputed(dataint,locksync.Mutex){lock.Lock()//加锁霸占
Stella981 Stella981
3年前
Redis实现分布式锁全局锁—Redis客户端Redisson中分布式锁RLock实现
1\.前因  以前实现过一个Redis实现的全局锁,虽然能用,但是感觉很不完善,不可重入,参数太多等等.  最近看到了一个新的Redis客户端Redisson,看了下源码,发现了一个比较好的锁实现RLock,于是记录下.2\.Maven依赖<dependency    <group
Wesley13 Wesley13
3年前
Java并发编程:AQS的公平性
所谓公平是指所有线程对临界资源申请访问权限的成功率都一样,它不会让某些线程拥有优先权。通过几篇文章的分析我们知道了JDK的AQS的锁是基于CLH锁进行优化的,而其中使用了FIFO队列,也就是说等待队列是一个先进先出的队列。那是否就可以说每条线程获取锁时就是公平的呢?关于公平性,严格来说应该分成三个点来看:入队阶段、唤醒阶段以及闯入策略。友情链接:
Wesley13 Wesley13
3年前
Java 并发编程:AQS 的公平性
所谓公平是指所有线程对临界资源申请访问权限的成功率都一样,它不会让某些线程拥有优先权。通过几篇文章的分析我们知道了JDK的AQS的锁是基于CLH锁进行优化的,而其中使用了FIFO队列,也就是说等待队列是一个先进先出的队列。那是否就可以说每条线程获取锁时就是公平的呢?关于公平性,严格来说应该分成三个点来看:入队阶段、唤醒阶段以及闯入策略。友情链接:
捉虫大师 捉虫大师
2年前
这不会又是一个Go的BUG吧?
hello,大家好呀,我是小楼。最近我又双叒叕写了个BUG,一个线上服务死锁了,不过幸亏是个新服务,没有什么大影响。出问题的是Go的读写锁,如果你是写Java的,不必划走,更要看看本文,本文的重点在于Java和Go的读写锁对比,甚至看完后你会有一个隐隐的感觉:Go的读写锁是不是有BUG?故障回放背景简单抽象一下:一个server服务(Go语言实现),提供了
StringRedisTemplate 分布式锁
Mark一下StringRedisTemplate分布式锁自用javaprivatestaticfinalStringRELEASELOCKSCRIPTS"ifredis.call('get',KEYS1)ARGV1thenreturnredis.
京东云开发者 京东云开发者
2星期前
MySQL 死锁日志分析方法
作者:京东物流张凯引言MySQL死锁是线上经常遇到的现象,但是死锁分析却并不总是件容易的事情,本文介绍MySQL死锁日志的分析方法,帮助研发从日志中快速提取有效信息,从而提高死锁原因分析的效率。死锁介绍触发条件死锁的触发条件包括四个:•互斥•占有且等待•不