Java 线程的挂起与唤醒.docxVIP

  • 1
  • 0
  • 约5.37千字
  • 约 9页
  • 2017-12-20 发布于河南
  • 举报
Java 线程的挂起与唤醒

java线程技术6_线程的挂起和唤醒 2011-04-08 11:08:36 分类: Java1. 线程的挂起和唤醒????? 挂起实际上是让线程进入“非可执行”状态下,在这个状态下CPU不会分给线程时间片,进入这个状态可以用来暂停一个线程的运行;在线程挂起后,可以通过重新唤醒线程来使之恢复运行。挂起的原因可能是如下几种情况:???? (1)通过调用sleep()方法使线程进入休眠状态,线程在指定时间内不会运行。???? (2)通过调用join()方法使线程挂起,使自己等待另一个线程的结果,直到另一个线程执行完毕为止。???? (3)通过调用wait()方法使线程挂起,直到线程得到了notify()和notifyAll()消息,线程才会进入“可执行”状态。???? (4)使用suspend挂起线程后,可以通过resume方法唤醒线程。????? 虽然suspend和resume可以很方便地使线程挂起和唤醒,但由于使用这两个方法可能会造成死锁,因此,这两个方法被标识为 deprecated(抗议)标记,这表明在以后的jdk版本中这两个方法可能被删除,所以尽量不要使用这两个方法来操作线程。????? 调用sleep()、yield()、suspend()的时候并没有被释放锁????? 调用wait()的时候释放当前对象的锁????? wait()方法表示,放弃当前对资源的占有权,一直等

文档评论(0)

1亿VIP精品文档

相关文档