Home » Java Programming » Threads

The static method Thread.currentThread() returns a reference to the currently executing Thread object. What is the result of this code? class Test { public static void main(String [] args) { printAll(args); } public static void printAll(String[] lines) { for(int i = 0; i < lines.length; i++) { System.out.println(lines[i]); Thread.currentThread().sleep(1000); } } }

Correct Answer: This code will not compile.

Explanation:

D. The sleep() method must be enclosed in a try/catch block, or the method printAll() must declare it throws the InterruptedException.


A is incorrect, but it would be correct if the InterruptedException was dealt with.


B is incorrect, but it would still be incorrect if the InterruptedException was dealt with because all Java code, including the main() method, runs in threads.


C is incorrect. The sleep() method is static, so even if it is called on an instance, it still always affects the currently executing thread.


← Previous Question Next Question→

More Questions from Threads

Discussion & Comments

No comments yet. Be the first to comment!
Join Discussion