File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes Thread Question Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Bookmark "Thread Question" Watch "Thread Question" New topic
Author

Thread Question

Gopesh Sharma
Greenhorn

Joined: Nov 12, 2002
Posts: 18
This is one of the 'Thread' questions from Java Certification Book by Khalid:
****************
Given the following program, which statement is true?

Choices:
1. The program will fail to compile.
2. One cannot be certain whether any of the letters i,j,k will be printed during execution.
3. One can be certain whether any of the letters i,j,k will ever be printed.
4. One can be certain that the letters i and k will never be printed during execution.
5. One can be certain that the letter k will never be printed during execution.
Correct Answer is: 2
*********
Can someone explain more clearly? The explanation given in the book is not very sufficient.
Thanks,
Gopesh
[ November 23, 2003: Message edited by: Gopesh Sharma ]
[ Jess added UBB [code] tags to preserve whitespace, check 'em out! ]
[ November 23, 2003: Message edited by: Jessica Sant ]

SCJP, SCWCD, Brain Bench Certified in Java 1.2, Web Methods Certified Developer, HP Star Certified in HP Net Servers, CNE, CNA.
Phillip de Ridder
Greenhorn

Joined: Nov 18, 2003
Posts: 1
I think the reason why 2 is correct is because of thread deadlock. The threads that are started are only made "ready" when MyThread.start()is called. The thread scheduler will then pick up these two threads (in no particular order) and start executing them. Once a thread has started executing it obtains a lock on the first synchronized statement and proceeds to execute it. The lock is released when the the thread proceeds to the next statement. It is possible for the JVM's thread scheduler to start executing the other thread at some stage during or after the first thread begins execution, however it is possible that a lock may be held on any of the synchronized statements by one of the threads - causing a possible thread deadlock, and hence the check method may never execute.
Hope this Helps
Phillip
H Gokulam
Ranch Hand

Joined: Nov 04, 2003
Posts: 46
Hi,
Check this Link. Threads
Regards,
Hari.


Harikumar G<br />SCJP 1.4
 
jQuery in Action, 2nd edition
 
subject: Thread Question
 
Similar Threads
Query about threads
Threads...
Mughal, review question 9.6, p.282 (Synchronization)
Question from Khalid book
confused on thread topic