04Java并发编程
文章
12 生产者消费者
Java生产者-消费者问题的多种实现方案以下是5种典型实现方式,涵盖从基础同步到高阶工具的使用: 1. wait()/notify() 基础同步(JDK1.0+)核心逻辑:通过synchronized和对象锁协调线程。 123456789101112131415161718192021// 共享缓冲区类class Buffer { private final LinkedList<Object> list = new LinkedList<>(); private final int MAX_SIZE = 10; public synchronized void produce() throws InterruptedException { while (list.size() >= MAX_SIZE) { wait(); // 缓冲区满时等待<sup>2</sup><sup>7</sup> ...
13 读写锁问题
读写锁问题读的时候共享、写的时候独占。 方案一:ReentrantReadWriteLock(推荐方案)核心特性: 读锁共享:允许多线程并发读取写锁独占:写操作时完全互斥135锁降级:写线程可降级为读锁,保证数据一致性 12345678910111213141516171819202122232425import java.util.concurrent.locks.*;public class ReadWriteResource { private int value; private final ReentrantReadWriteLock rwLock = new ReentrantReadWriteLock(); private final Lock readLock = rwLock.readLock(); private final Lock writeLock = rwLock.writeLock(); // 读操作(共享) public int readValue() { readLock.lo...






