wait, notify和notifyAll是Object类的方法,而不是Thread类的方法,这是因为这些方法与对象锁相关,而不是与线程自身相关。当调用一个对象的wait()方法时,执行这个方法的线程释放该对象的锁,然后进入等待状态。当另一个线程调用同一个对象的notify()或notifyAll()方法时,正在等待该对象锁的一个或所有线程会被唤醒。
2)每个对象都可上锁,这是在 Object 类而不是 Thread 类中声明 wait 和 notify 的另一个原因。 3) 在 Java 中,为了进入代码的临界区,线程需要锁定并等待锁,他们不知道哪些线程持有锁,而只是知道锁被某个线程持有, 并且需要等待以取得锁, 而不是去了解哪个线程在同步块内,并请求它们释放锁。 4) Java 是基...
2)每个对象都可上锁,这是在 Object 类而不是 Thread 类中声明 wait 和 notify 的另一个原因。 3) 在 Java 中,为了进入代码的临界区,线程需要锁定并等待锁,他们不知道哪些线程持有锁,而只是知道锁被某个线程持有, 并且需要等待以取得锁, 而不是去了解哪个线程在同步块内,并请求它们释放锁。 4) Java 是基...