安全锁 调用notify,wait的线程一定会获得锁吗?
调用notify,wait的线程一定会获得锁吗?wait and notify的性质是基于条件对象的,并且只能由已获取锁的线程调用。Java中的每个对象都有一个隐式锁。隐式锁与条件对象相关联。当线程获
调用notify,wait的线程一定会获得锁吗?
wait and notify的性质是基于条件对象的,并且只能由已获取锁的线程调用。Java中的每个对象都有一个隐式锁。隐式锁与条件对象相关联。当线程获得隐式锁(例如,进入同步代码区域)时,它可以调用wait。语义是等待condition对象。其他线程可以等待condition对象。在满足条件之后,它可以调用notify或no Tifyall来唤醒等待这个条件对象的所有线程。我建议您参考reentrantlock类,它可以反映上面提到的所有内容。
newCondition()什么意思?
Newcondition Newcondition()返回绑定到此锁实例的新条件实例。
在等待条件之前,锁必须由当前线程保持。呼叫条件。等待()将在等待前自动释放锁,并在等待返回前重新获取锁。实现注意事项条件实例的具体操作取决于锁的实现,锁的实现必须记录在案。Return:此锁实例的新条件实例抛出:Unsupported operationexception-如果锁实现不支持条件