并发编程
文章平均质量分 86
并发编程
是小王同学啊~
点滴记忆,培养兴趣,积累经验,成长自我,分享快乐!
展开
-
高并发下异步请求之Async
Async失效 java异步线程 Async失效自定义线程池原创 2022-01-11 21:23:45 · 2331 阅读 · 1 评论 -
上机实战之写个多线程死锁的例子并解决死锁
上机实战之写个多线程死锁的例子并解决死锁死锁产生的原因查看死锁的方式以及死锁解决的方法原创 2022-01-15 22:12:19 · 313 阅读 · 1 评论 -
分布式调度XXL-Job整合Springboot2.X实战操作
单机定时任务: 单机的容易实现,但应用于集群环境做分布式部署,就会带来重复执行 解决方案有很多比如加锁、数据库等,但是增加了很多非业务逻辑分布式调度: 把需要处理的计划任务放入到统一的平台,实现集群管理调度与分布式部署的定时任务 叫做分布式定时任务 支持集群部署、高可用、并行调度、分片处理等原创 2022-04-08 10:48:02 · 1755 阅读 · 11 评论 -
做Java开发这些年,线程池的使用细节和坑你真的了解吗?仔细看看吧~
一、【阿里巴巴编码规范】 线程池不允许使用 Executors 去创建,要通过 ThreadPoolExecutor的方式原因Executors创建的线程池底层也是调用 ThreadPoolExecutor,只不过使用不同的参数、队列、拒绝策略等,如果使用不当,会造成资源耗尽问题;直接使用ThreadPoolExecutor让使用者更加清楚线程池允许规则,常见参数的使用,避免风险常见的线程池问题:newFixedThreadPool和newSingleThreadExecutor: ...原创 2022-01-13 21:29:54 · 650 阅读 · 0 评论 -
并发编程ReentrantLock实现原理和Synchroized区别
ReentrantLock是Lcok默认实现方式之一,它是基于AQS(AbstractQueuedSynchronizer 队列同步器)实现的,它默认是通过非公平锁实现的,在它的内部有一个state的状态字段用于表示锁是否被占用,如果是0则表示未被占用,此时线程就可以把state改成1,并成功获得了锁,而其他未获得锁的线程只能去排队等待获取资源。首先来看下ReentrantLock的两个构造函数: public ReentrantLock() { sync = new Non原创 2022-03-19 21:35:29 · 394 阅读 · 5 评论