黑马程序员技术交流社区

标题: 多线程小问题 [打印本页]

作者: 龙翔    时间: 2013-9-19 21:00
标题: 多线程小问题
本帖最后由 龙翔 于 2013-9-20 21:44 编辑

如果 Lock lock=new Lock();
        Condition con1=lock.newCondition();
        Condition con2=lock.newCondition();

        con1.await()能不能被con2.signalAll()唤醒?

疑惑.

作者: 胡智    时间: 2013-9-19 22:19
从API上看
con2.signalAll()唤醒的是等待con2条件的线程。
con1的条件的线程唤醒不了
作者: 早知道    时间: 2013-9-20 20:50
不行,con1.await()只能被con1.signalAll()或con1.singal()唤醒,在生产消费者例子中用到这个知识,生产者只能唤醒消费者线程,消费者线程只能唤醒生产者线程。这样多个条件加锁的应用更加灵活。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2