成功的路上总是离不开贵人的帮助,名师的指点和小人的刺激。

莫怕,过了桥,就翻篇了

2019年1月20日 #

基于数据库实现分布式锁

摘要: 1.基于数据库表的实现 首先创建一张锁表 这里将方法名做唯一性约束 当我们想锁住某个方法时,可以根据方法名insert一条语句 这时如果有另外一个线程要调用支付的方法,由于违反了数据库唯一性的约束,会抛出异常,因此可以认定为拿不到锁,当拿到锁的方法执行完业务代码后,最后释放锁的时候 再执行一条del 阅读全文

posted @ 2019-01-20 16:20 痞子陈2016 阅读(530) 评论(0) 推荐(0) 编辑

分布式锁

摘要: 1.前沿 上几篇文章分别介绍了数据库里面的锁及java里面的锁,大概了解到锁就是为了数据的一致性,防止出现数据错乱,但是单机环境下用java的syn和lock来实现多线程异步执行的同步性,能 有效解决高并发的问题,但是实际中大公司往往为了实现系统的高可用,会选择分布式集群部署。因此如果单纯的靠syn 阅读全文

posted @ 2019-01-20 15:04 痞子陈2016 阅读(190) 评论(0) 推荐(0) 编辑

阻塞锁,非阻塞锁,自旋锁,互斥锁

摘要: 1.阻塞锁 多个线程同时调用同一个方法的时候,所有线程都被排队处理了。让线程进入阻塞状态进行等待,当获得相应的信号(唤醒,时间) 时,才可以进入线程的准备就绪状态,准备就绪状态的所有线程,通过竞争,进入运行状态。 但是由于被调用的方法越耗时,线程越多的时候,等待的线程等待的时间也就越长,甚至于几分钟 阅读全文

posted @ 2019-01-20 14:14 痞子陈2016 阅读(6431) 评论(2) 推荐(1) 编辑

导航