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

Discussion

Which of these statements about sharing one Runnable between threads is correct?

  • A.One Runnable instance may be used by only one thread; a second throws IllegalThreadStateException.
  • B.Each thread receives its own copy of the Runnable.
  • C.A shared Runnable is automatically synchronized on itself before run() is called.
  • D.One Runnable instance may be shared by several threads.

Answer: D

Passing the same Runnable to several Thread objects is legal and common, and every one of those threads executes the same object, so its instance fields are shared mutable state needing protection. Nothing is copied and nothing is locked for you. The one-start rule applies to a Thread, not to a Runnable.

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

Post your comment

Please log in or register to post a comment.