java基础笔记
islibin6666
这个作者很懒,什么都没留下…
展开
-
解决多线程业务下 死锁和活锁的问题
关于死锁和活锁的概念死锁:是指两个或两个以上的进程(或线程)在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。产生死锁的必要条件:互斥条件:所谓互斥就是进程在某一时间内独占资源。请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。不剥夺条件:进程已获得资源,在末使用完之前,不能强行剥夺。循环等待条件:若干进程之间形成一种头尾...原创 2020-03-11 17:54:12 · 369 阅读 · 0 评论 -
Java 自定义线程池 详解使用和优化策略
什么是线程池?为什么要用线程池? 降低资源的消耗。降低线程创建和销毁的资源消耗; 提高响应速度:线程的创建时间为T1,执行时间T2,销毁时间T3,免去T1和T3的时间 提高线程的可管理性。JDK中的线程池和工作机制线程池的创建ThreadPoolExecutor,jdk所有线程池实现的父类各个参数含义int corePoolSize :线程池中核心线程数,<...原创 2020-03-10 14:53:38 · 2103 阅读 · 0 评论 -
使用Java延时队列DelayQueue实现订单延时处理
DelayQueue简单介绍DelayQueue:一个使用优先级队列实现的无界阻塞队列。支持延时获取的元素的阻塞队列,元素必须要实现Delayed接口。适用场景:实现自己的缓存系统,订单到期,限时支付等等。具体代码会有注释,很好理解!这里我们模拟一个订单延时处理的demo首先我们定义一个订单实体类/** * 订单实体类 * @author James Lee *...原创 2020-03-09 18:55:09 · 1500 阅读 · 2 评论