摘要: 线程池概述 经常创建和销毁、使用量特别大的资源,比如并发情况下的线程,对线程影响很大。 使用线程池的好处 提前创建好多个线程,放入线程池中,使用时直接获取,使用完放回池中。 高响应速度(减少了创建新线程的时间) 降低资源消耗(重复利用线程中的线程,不需要每次都创建) 便于线程管理:corePoolS 阅读全文
posted @ 2022-06-18 16:24 禁止摆烂 阅读(37) 评论(0) 推荐(0)
摘要: 生产者消费者模式的两种实现方式 只有一个生产者和线程一个消费者线程的情况,这个时候使用if;多个生产者和消费者线程的时候一定要使用while。 管程法 测试1-synchronized 多生产者多消费者模式下,假设有两个生产者,第一个生产者获取数据的时候,发现 if(num!=0),便进入等待状态; 阅读全文
posted @ 2022-06-18 13:07 禁止摆烂 阅读(44) 评论(0) 推荐(0)
摘要: ReentrantLock vs synchronized synchronized内置java关键字。Lock是一个java类 synchronized无法判断获取锁的状态,Lock可以判断是否获得到了锁 synchronized会自动释放锁,lock锁必须要手动释放,如果不释放会死锁。 sync 阅读全文
posted @ 2022-06-18 12:50 禁止摆烂 阅读(266) 评论(0) 推荐(0)
摘要: 同步:队列+锁 性能问题 每个线程都有自己的工作内存 测试1、买票 public class TicketTest { public static void main(String[] args) { Ticket ticket = new Ticket(); new Thread(ticket," 阅读全文
posted @ 2022-06-18 09:39 禁止摆烂 阅读(28) 评论(0) 推荐(0)