摘要:
前提: 当只有一个生产者与消费者,也就是只有两个线程时,唤醒的永远时对方线程。 当只有一个生产者时和两个消费者,或者两个生产者与两个消费者时,唤醒的就是所有线程了,这样就会产生死锁和虚假唤醒。 多线程对多线程,必会有死锁和虚假唤醒问题。 比如下面的代码,初看正常,刚运行几次也正常,但多运行几次就出现 阅读全文
摘要:
java.util.concurrent.locks这个接口是关于锁的。与synchronized相比,lock更具有灵活性. java.util.concurrent.locks的三个实现类: ReentrantLock ReentrantReadWriteLock.ReadLock Reentr 阅读全文