Home » Java

Java生产者消费者的三种实现

  Java生产者消费者是最基础的线程同步问题,java岗面试中还是很容易遇到的,之前没写过多线程的代码,面试中被问到很尬啊,面完回来恶补下。在网上查到大概有5种生产者消费者的写法,分别如下。 用synchronized对存储加锁,然后用object原生的wait() 和 notify()做同步。 用concurrent.locks.Lock,然后用condition的await() 和signal()做同步。 直接使用concurrent.BlockingQueue。 使用PipedInputStream/PipedOutputStream。 使用信号量semaphore。  

Read More »