摘要: 当对于一个生产者和一个消费者时 当对于多个生产者和消费者时 会出现生产一个商品,消费出两个商品,或者生产两个而消费一个 这是因为if语句只判断一次flag标记,消费者的线程生产完会唤醒本方的另一条生产线程,而不判断flag标记,导致生产两次而消费一次 然后我们可以把if换成while 原因:让被唤醒 阅读全文
posted @ 2016-05-06 17:34 Rancvl 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 其实就是多个线程在操作同一个资源,但是操作的动作不一样 等待唤醒机制 wait; notify(); notifyAll(); 都是用在同步中,因为要对持有监视器(锁)的线程操作,所以都要使用在同步中,因为只有同步才具有锁 为什么这些操作线程的方法要定义在Object类中呢? 因为这些方法在操作同步 阅读全文
posted @ 2016-05-06 12:51 Rancvl 阅读(151) 评论(0) 推荐(0) 编辑