• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Tim Cooke
  • paul wheaton
  • Jeanne Boyarsky
  • Ron McLeod
Sheriffs:
  • Paul Clapham
  • Liutauras Vilda
  • Devaka Cooray
Saloon Keepers:
  • Tim Holloway
  • Roland Mueller
Bartenders:

Exam on monday please reply

 
Ranch Hand
Posts: 84
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hello,
I have found invariably 1 or more questions in all
the mock exams over the calls which stops the thread.
While performing search in Javaranch I have found a nice discussion over this "InterruptedException" july 26, 2000). Explanation in this posting have cleared most of my doubts
but still am worried about my answer choice in real exam.
I am consolidating all the choices.
1. sleep
2. stop
3. wait
4. yield
5. interrupt
6. suspend
7. waitforId/waitforData
8. blocked for io
9. If the current thread starts the new thread
10. Thread with higher priority is in the pool.
Ajith has explained that that sleep() does not stop the thread whereas interrupt stops the thread. While Kai's notes and Hunt's mock exam says just the opposite.
Also waitforId/waitforData does not stop the thread but blocks.
However, all the mock exam includes that as answer which will
stops the thread.
Please advice me the answer which should be choosen in
the exam.
Please suggest the answer for all the 10 situations given above.
Regards
Sanjay
PS: This is a repost. Moderators please excuse me and help
me in getting the answer.
 
Sanjay Mishra
Ranch Hand
Posts: 84
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Anyone please answer....
I will be highly grateful.
Regards
Sanjay
 
Greenhorn
Posts: 19
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I think it should be like this:-
1. sleep -- The thread sleeps for sometime. Not a stop.
2. stop -- Stop the thread.
3. wait -- It is a wait to be notified. So not a stop.
4. yield -- It causes the currently executing thread object to temporarily pause and allow other threads to execute. Not a stop
5. interrupt -- yes it will stop the thread.
6. suspend -- No it will not stop the thread but will suspend it for sometime and resume it later.. These methods are deprecated now.
7. waitforId/waitforData
8. blocked for io
No the thread processes the rest of it once the blocked IO is complete. Like reading a file.
9. If the current thread starts the new thread
No this will not stop the thread as the new thread will run in as a seperate entity.
10. Thread with higher priority is in the pool.
Usually the HIGH Priority thread waits till CPU gets enough time for it to process this thread. It will not stop the running low priority thread.
Can someone put more thoughts to it...

------------------
Raj
 
Ranch Hand
Posts: 18944
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
1. sleep
2. stop
3. wait
4. yield
5. interrupt
6. suspend
7. waitforId/waitforData
8. blocked for io
9. If the current thread starts the new thread
10. Thread with higher priority is in the pool.
1.sleep makes the thread to sleep for a specified time interval.after the interval, thread starts executing.so,sleep doesn't stop the thread.
2.stop makes the thread stop.
3.wait makes the thread to wait until some other thread notifies it.so it also doesnot stop the thread.
4.yield makes the thread to leave the monitor and adds to the queue .so it also doesnot stop the thread.
5.interrupt interrupts the thread.but it will not stop the thread.
6.suspend pauses the execution of the thread until it is resumed.
7.waitfor id/waitfordata
thread waits for getting id and data,it is not for stopping the thread.
8.blocked for IO
thread waits until the IO operation is over.againi it starts execution.
9.
10.if the thread with higher priority is in pool ,then the current thread waits until the higher priority thread's execution completes.it doesn't mean that the thread stop.
 
mehrar
Greenhorn
Posts: 19
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
To stop the thread which is blocked waiting for I/O, use the
interrupt() method on the thead that is blocked (e.g. the Thread object created when the thread was started). This will cause the thread to throw an Interrupted exception. Note that if the I/O thread is NOT blocked waiting, the interrupt() method will NOT cause it to throw an exception or interrupt its sequence of execution; in this case the thread itself has to check using isInterrupted() and take action as appropriate. (There is no way in Java to interrupt the flow of execution of a running thread).
------------------
Raj
 
You showed up just in time for the waffles! And this tiny ad:
Smokeless wood heat with a rocket mass heater
https://woodheat.net
reply
    Bookmark Topic Watch Topic
  • New Topic