Machine-translated by Google. Questions are authored in English.
Top

Discussion

Which one of the following statements about why suspend() and resume() are deprecated is true?

  • A.suspend() is deprecated because a suspended thread keeps its locks.
  • B.suspend() is deprecated because it releases locks and corrupts shared data.
  • C.suspend() is deprecated because it can only be reversed by the thread that called it.
  • D.suspend() is deprecated because it was replaced by wait().

Answer: A

A thread suspended while holding the lock on a critical resource keeps that lock, so nothing else can touch the resource until it is resumed. If the resuming thread needs the same lock first, the two deadlock. That is exactly the hazard the javadoc gives for deprecating it.

No comment is present. Be the first to comment.
Loading…

Post your comment

Please log in or register to post a comment.