JUC
文章平均质量分 95
龙龙龙呀
正在努力奋斗的大四菜鸟 java转go了...
展开
-
CompletableFuture异步编排实现商品查询
CompletableFuture异步编排问题:查询商品详情页的逻辑非常复杂,数据的获取都需要远程调用,必然需要花费更多的时间。假如商品详情页的每个查询,需要如下标注的时间才能完成获取sku的基本信息 1.5s获取sku的图片信息 0.5s获取spu的所有销售属性 1ssku价格 1.5s …那么,用户需要4.5s后才能看到商品详情页的内容。很显然是不能接受的。如果有多个线程同时完成这4步操作,也许只需要1.5s即可完成响应。1 CompletableFutu原创 2022-03-25 22:06:40 · 823 阅读 · 0 评论 -
分布式锁优化过程、Redisson,AOP实现缓存
分布式锁优化过程、Redisson,AOP实现缓存一 分布式锁优化过程1 本地锁的局限性我们学习过synchronized及lock锁,这些锁都是本地锁。接下来写一个案例,演示本地锁的问题1.1 编写测试代码在TestController中添加测试方法public interface RedisTestService { /** * redis的锁测试demo1 */ public void lockDemo1();}@Servicepublic原创 2022-03-23 20:57:29 · 1615 阅读 · 0 评论 -
JUC学习笔记(六)线程池
阻塞队列,线程池概念,线程池七个参数,线程池工作机制,拒绝策略,自定义线程池,线程安全的集合等原创 2022-03-11 18:22:03 · 1120 阅读 · 0 评论 -
JUC学习笔记(五)Lock 底层原理探究
java内存模型,并发编程三大特性,volatile关键字,CAS机制,AQS机制,JSR305原创 2022-03-10 11:35:53 · 695 阅读 · 0 评论 -
JUC学习笔记(四)特定场景解决方案
特定场景解决方案尚硅谷JUC学习笔记第一节 CountDownLatch效果:指定一个操作步骤数量,在各个子线程中,每完成一个任务就给步骤数量 - 1;在步骤数量减到0之前,CountDownLatch 可以帮我们把最后一步操作抑制住(阻塞),让最后一步操作一直等到步骤被减到 0 的时候执行。1、班长锁门有六名同学在值日,班长负责锁门。班长必须确保所有同学都离开教室再锁门。// 声明一个变量,用来保存同学的数量int stuNum = 6;// 创建CountDownLatch对象Cou原创 2022-03-10 11:26:40 · 261 阅读 · 0 评论 -
JUC学习笔记(三)Lock API控制多线程
Lock接口,可重入锁,读写锁,线程间通信,Lock与synchronize的对比原创 2022-03-08 18:10:44 · 371 阅读 · 0 评论 -
JUC学习笔记(二) synchronized 底层原理探究
synchronized 底层原理探究,锁膨胀机制,对象存储结构,监视器对象结构,加锁和解锁流程,可重入性原创 2022-03-08 17:13:45 · 307 阅读 · 0 评论 -
JUC学习笔记(一)多线程基本知识
多线程知识尚硅谷学习笔记第一节 基础概念1、程序、进程、线程①程序程序从开发到发布的过程:源程序(源代码) → 打包封装 → 应用软件笼统的来说,源程序、应用软件都可以称之为『程序』。相对于进程、线程来说,程序是一个静态的概念。②进程内部视角:程序运行起来就是一个进程。所以相对于程序来说,进程是一个动态的概念。外部视角:站在操作系统的层次上来说,现代的大型操作系统都是支持多进程模式运行的,这样操作系统就可以同时执行很多个任务。③线程在一个进程中,需要同时处理多个不同任务,原创 2022-03-07 21:44:15 · 445 阅读 · 0 评论