自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 深入理解AQS独占锁之ReentrantLock源码分析

java.util.conncurrent包中的大多数同步器实现都是围绕着共同的基础行为,比如等待队列,条件队列,独占获取,共享获取等,而这些行为的抽象就是基于AbstractQueuedSynchronizer(简称AQS) 实现的,AQS是一个抽象同步框架,可以用来实现一个依赖状态的同步器。JDK中提供的大多数的同步器如 Lock,Latch, Barrier等, 都是基于AQS框架来实现的一般是通过一个内部类Sync继承AQS将同步器所有调用都映射到Sync对应的方法AQS具备的特性。

2023-04-18 20:31:51 33

原创 JUC常用并发工具类

ReentrantLock具体应用场景如下1.解决多线程竞争资源问题,例如多个线程同时对同一个数据库进行写操作,可以使用ReentrantLock保证每次只有一个线程能够写入2,实现多多线程任务的顺序执行,例如在一个线程执行完某个任务后,再让另一个线程执行任务3.实现多线程等待/通知机制,例如在某个线程执行完某个任务后,通知其他线程继续执行任务1,限流:Semaphore 可以用于限制对共享资源的并发访问的数量,以控制系统的流量。

2023-04-14 21:10:38 101

原创 面试必问并发安全问题

死锁的发生必须具备以下四个必要条件1,互斥条件:指进程对所分配到的资源进行排他性使用,即在一段时间内某资源只由一个进程占用。如果此时还有其它进程请求资源,则请求者只能等待,直至占有资源的进程用毕释放2)请求和保持条件:指进程已经保持至少一个资源,但又提出了新的资源 请求,而该资源已被其它进程占有,此时请求进程阻塞,但又对自己已获得的其 它资源保持不放。3)不剥夺条件:指进程已获得的资源,在未使用完之前,不能被剥夺,只 能在使用完时由自己释放。

2023-04-09 22:19:00 42 1

原创 Atomic & Unsafe魔法类详解

Unsafe提供的API大致可分为内存操作,CAS,Class相关,对象操作,线程调度,系统信息获取,内存屏障,数组操作等几类,

2023-04-09 20:27:10 54 1

转载 如何保证 Controller 的并发安全

单例模式(Singleton)是程序设计中一种非常重要的设计模式,设计模式也是Java面试重点考察的一个方面。面试经常会问到的一个问题是: SpringMVC中的Controller是单例还是多例的,很多同学可能会想当然认为Controller是多例,其实不然。 Tomcat官网截图 根据Tomcat官网中的介绍,对于一个浏览器请求,tomcat会指定一个处理线程,或是在线程池中选取空闲的,或者新建一个线程。 Each incoming request requires a thread fo.

2022-05-05 14:36:50 81

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除