摘要:
我对这个的理解:人家是设计成这样的。你会发现在wait前是要先拿到锁的,然后wait释放锁,让其他线程抢夺。在notify或notifyAlll前,你要先拿到锁,然后唤醒线程,当同步代码结束后释放锁,这时候其他线程便可以抢了。 这整个过程都离不开锁,如果不在同步上下文中使用wait,notify,n 阅读全文
摘要:
这个问题我们先假设在if的情况下,以生产者和消费者来说,当容器满了,生产线程在满足if的条件下执行wait了,后面有人唤醒它了,它也顺利拿到锁了,这时候你想一下,它从哪开始执行?是不是上次wait的代码下一行开始执行,它就跳过if的判断去生产了,要是这时候容器满了呢?那容器就肯定溢出了,这肯定不是我 阅读全文