Java多线程编程第三章核心要点有哪些?

2026-06-11 14:486阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计2056个文字,预计阅读时间需要9分钟。

Java多线程编程第三章核心要点有哪些?

3.1.3 调用wait()或notify()等方法的对象,必须是同步锁对象,否则抛出IllegalMonitorStateException。例如,同步方法中只能使用this.lock()。释放同步锁。sleep方法不释放同步锁。调用wait()方法时必须使用this关键字。


3.1.3
调用wait()或notify()等方法的对象,必须是同步锁对象,否则抛出IllegalMonitorStateException.
比如同步方法中只能是 this.lock()。

释放同步锁。
sleep方法不释放同步锁。
调用wait()方法时必须要持有同步锁,即在同步代码中才能正确调用wait(),否则抛出IllegalMonitorStateException。
wait()是Object类的方法。

恢复执行。
notify()需要在同步代码中执行,此线程执行完才释放同步锁。然后被唤醒的线程才有机会去争抢同步锁。
当没有wait状态的线程,那么就忽略本次操作。
wait状态的线程必须要得到notify()或者notifyAll()才能被唤醒,否则一直处于wait状态。

notifyAll()方法唤醒所有wait状态的线程。

原:wait使线程停止运行,而notify使停止的线程继续执行。

阅读全文

本文共计2056个文字,预计阅读时间需要9分钟。

Java多线程编程第三章核心要点有哪些?

3.1.3 调用wait()或notify()等方法的对象,必须是同步锁对象,否则抛出IllegalMonitorStateException。例如,同步方法中只能使用this.lock()。释放同步锁。sleep方法不释放同步锁。调用wait()方法时必须使用this关键字。


3.1.3
调用wait()或notify()等方法的对象,必须是同步锁对象,否则抛出IllegalMonitorStateException.
比如同步方法中只能是 this.lock()。

释放同步锁。
sleep方法不释放同步锁。
调用wait()方法时必须要持有同步锁,即在同步代码中才能正确调用wait(),否则抛出IllegalMonitorStateException。
wait()是Object类的方法。

恢复执行。
notify()需要在同步代码中执行,此线程执行完才释放同步锁。然后被唤醒的线程才有机会去争抢同步锁。
当没有wait状态的线程,那么就忽略本次操作。
wait状态的线程必须要得到notify()或者notifyAll()才能被唤醒,否则一直处于wait状态。

notifyAll()方法唤醒所有wait状态的线程。

原:wait使线程停止运行,而notify使停止的线程继续执行。

阅读全文