![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java多线程并发
Java多线程并发
Mo-Xian
毕业于西南大学,工作于2017年,开此博客希望记录所见所得所感所悟,形成体系,也希望认识更多志同道合的朋友和大佬,一起走向IT的知识殿堂
展开
-
线程池工作过程
线程池工作过程线程池刚创建时,里面没有一个线程。任务队列是作为参数传进来的。不过,就算队列里面 有任务,线程池也不会马上执行它们。当调用 execute() 方法添加一个任务时,线程池会做如下判断: a) 如果正在运行的线程数量小于 corePoolSize,那么马上创建线程运行这个任务; b) 如果正在运行的线程数量大于或等于 corePoolSize,那么将这个任务放入队列; c) 如果这时候队列满了,而且正在运行的线程数量小于 maximumPoolSize,那么还是要 创建非核心线原创 2020-07-30 14:11:14 · 171 阅读 · 0 评论 -
高性能方法级幂等性
高性能方法级幂等性 1.幂等性就是用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用。举个最简单的例子,那就是支付,用户购买商品使用约支付,支付扣款成功,但是返回结果的时候网络异常,此时钱已经扣了,用户再次点击按钮,此时会进行第二次扣款,返回结果成功,用户查询余额返发现多扣钱了,流水记录也变成了两条.2.方案设计思路在分布式系统条件下,需要...原创 2019-07-10 17:12:12 · 875 阅读 · 1 评论 -
三种分布式锁概述
分布式锁的必要性在单机时代,虽然不需要分布式锁,但也面临过类似的问题,只不过在单机的情况下,如果有多个线程要同时访问某个共享资源的时候,我们可以采用线程间加锁的机制,即当某个线程获取到这个资源后,就立即对这个资源进行加锁,当使用完资源之后,再解锁,其它线程就可以接着使用了。例如,在JAVA中,甚至专门提供了一些处理锁机制的一些API(synchronize/Lock等)类似的,当多个进程访问共...原创 2020-03-27 19:23:50 · 195 阅读 · 2 评论