高并发
文章平均质量分 85
追逐消失的记忆
这个作者很懒,什么都没留下…
展开
-
redis分布式锁事务解决方案
通常我们使用redisTemplate 的setIfAbsent()方法进行加锁,在到使用expire()方法进行设置超时时间的是时候,两个操作时使用两个链接不在一个事务中,当存在客户端setIfAbsent()加锁成功后服务中断,expire()无法进行超时设置,导致死锁的情况。 针对以上情况可以采取两种解决方案: 方案一: 将锁的超时间放在锁(key)的值(里面),及redis客户端在获取锁的时将客户端获取锁的时间加上超时时间形成失效时间点形成一个key-value的数据存在redis中,当客户端原创 2020-07-24 11:30:07 · 3125 阅读 · 1 评论 -
Java的Future模式 理论逻辑原理
现在我们设计一个场景: 假如你突然想做饭,但是没有厨具,也没有食材。网上购买厨具比较方便,食材去超市买更放心。 实现分析:在快递员送厨具的期间,我们肯定不会闲着,可以去超市买食材。所以,在主线程里面另起一个子线程去网购厨具。 但是,子线程执行的结果是要返回厨具的,而run方法是没有返回值的。所以,这才是难点,需要好好考虑一下。 模拟代码1: package test; public ...转载 2019-08-27 18:22:47 · 211 阅读 · 0 评论 -
高并发设计思想之Future模式
并行程序设计模式 并行设计模式是设计优化的一部分,在大型 JAVA企业级应用中,对常用的多线程结构的总结和抽象。与串行程序相比,并行程序的结构通常更为复杂。合理地使用并行模式在多线程开发中,对应用的底层架构代码搭建有着牢固地基的作用。把公开课的内容整理了一下,希望对大家有帮助。 先来思考两个问题,也许在面试中你会被问到。 问题一:你在实际开发中遇到并行设计问题吗?问题二:如果遇到,你是如何在...转载 2019-08-28 09:58:49 · 449 阅读 · 0 评论