线程和分布式锁
线程,分布式线程处理。
万米高空
生活要充满激情!
展开
-
使用ExecutorService高并发处理任务
使用线程池的场景一般是资源在某个方法的执行或者某段代码的执行不分先后,互不影响时使用。比如某个方法在某段时间会出现高并发的场景,这个方法里有需要加锁进行串行处理的时候,有些地方可以并发执行的。这些就都可以在方法里专门封装方法体。加锁的执行可能比较快,而下面的一段处理逻辑是比较复杂,操作比较多的写表操作。但是谁先执行无所谓。但是又要防止请求过多,挤爆服务器,就需要线程池来做有限制线程数的高并发了。首先是获取线程池,这里面的数据要根据自己服务器的参数调整,调优。import java.util.c原创 2020-05-27 18:43:39 · 1165 阅读 · 0 评论 -
springboot中使用异步的常用两种方式及其比较
一般对于业务复杂的流程,会有一些处理逻辑不需要及时返回,甚至不需要返回值,但是如果充斥在主流程中,占用大量时间来处理,就可以通过异步的方式来优化。实现异步的常用方法远不止两种,但是个人经验常用的,好用的,这里我就说两种,最好用的是第二种。spring的注解方式@Async org.springframework.scheduling.annotation.Asyncjdk1...原创 2020-01-07 17:45:05 · 2421 阅读 · 0 评论 -
如何实现ssm框架下web端http请求的cookie在server端获取?
目前在看系统的登陆这块权限校验的逻辑。发现是通过获取cookie并在response的header中返回给浏览器。如何做到的呢?用到的就是springmvc的拦截器配置。<mvc:interceptor>1.在spring-servlet.xml中配置登陆的拦截器:LoggingInterceptor2.实现登陆拦截器,继承 org.springframework.web.se...原创 2019-01-23 17:45:27 · 1054 阅读 · 0 评论 -
JAVA多线程学习
最近项目不多,想自己倒腾点感觉技术上接触不多,或者说短板的地方,学习一下。原创 2017-06-19 17:20:34 · 431 阅读 · 0 评论 -
个人收藏学习资源连接
《后端架构师技术图谱》原创 2019-10-29 09:38:38 · 166 阅读 · 0 评论 -
springcloud实现分布式锁案例
项目采用集群部署。一个项目部署后会有多个服务节点。这样前端app的多个请求会会通过负载均衡算法落到多个后端服务节点上。如果用户的提现操作过于频繁,可能会导致两个请求不分先后,分别落在两个服务节点上。这样会导致用户提取1块钱的前后两次操作,而数据确只减少1块钱的问题。所以要将分流到不同服务器的同一个用户的体现请求线程,进行加锁,同一时间只能处理一个用户的一次请求。...原创 2019-12-31 17:51:13 · 1512 阅读 · 1 评论