名词解释
A.wait():暂停执行、放弃已经获得的锁,进入等待状态;
notify():随机唤醒一个在等待锁的线程;
notfyall():唤醒所有在等待锁的线程,自行抢占cpu资源;

适合使用线程挂起:
等待某些没有就绪的资源

1.如下图所示,使用锁waitObject,则也要用waitObject调wait()和notify&&notifyall()方法
下面的执行结果表明 wait()执行后会立即释放锁waitObject,而suspend则不会有此功效;
thread1执行wait释放锁后thread2也执行wait释放锁,接着最下面的notyfy()唤醒一个等待锁的线程。(thread2不属于等待锁?)

线程wait()和notify(),notifyall()使线程处于挂起状态 和唤醒线程
2.如果上图的notify()换成notiyall()则thread和thread2都会被唤醒,如下图的打印结果

线程wait()和notify(),notifyall()使线程处于挂起状态 和唤醒线程

相关文章:

  • 2021-07-31
  • 2022-01-08
  • 2021-07-28
  • 2022-12-23
  • 2022-01-17
  • 2021-05-04
  • 2021-07-12
猜你喜欢
  • 2021-05-25
  • 2022-12-23
  • 2022-01-29
  • 2021-07-07
  • 2021-10-14
  • 2022-01-16
  • 2021-11-29
相关资源
相似解决方案