摘要: 等待方遵循的原则: 获取对象的锁,不满足条件就调用wait()方法,条件满足继续执行 通知方原则: 获取对象的锁,改变条件,然后notify 每个对象都有一个监视器锁,这个监视器锁的数据结构如下: wait()/notify()方法定义在Object类中。如果线程要调用对象的wait()方法,必须首 阅读全文
posted @ 2017-07-31 15:28 bili111 阅读(2818) 评论(0) 推荐(1) 编辑
摘要: 每个对象都有一个锁(Monitor,监视器锁),class对象也有锁,如果synchronized关键字修饰同步代码块,通过反编译可以看到,其实是有个monitorenter和monitorexit指令,也就是说,某个线程必须首先获得该对象的监视器锁,才能进入同步代码块,如果此时其它线程也去获取该对 阅读全文
posted @ 2017-07-31 13:09 bili111 阅读(1152) 评论(0) 推荐(0) 编辑