The moose likes Threads and Synchronization and the fly likes purpose of join Big Moose Saloon
  Search | Java FAQ | Recent Topics
Register / Login
JavaRanch » Java Forums » Java » Threads and Synchronization
Reply Bookmark "purpose of join" Watch "purpose of join" New topic
Author

purpose of join

sushant prabhu
Ranch Hand

Joined: Mar 22, 2001
Posts: 66
i reckon join is used to when one thread waits for another to finish and then the former thread continues.

say if i hav created 3 child threads out of my main thread . i give 3 join methods in my main so that it waits till all 3 child threads finish their task and then the main thread resumes.

what i want to ask is even if i dont give join on the 3 threads inside main and finish main even before the 3 threads finish i dont find the other 3 threads getting interrupted.
shouldnt the 3 child threads which were churned out of main get interupted when the main method ends.
i mean that is what join method is used for


Sushant Prabhu<br />SCJP2<br />SCWCD<br />OCA9i
Rob Ross
Bartender

Joined: Jan 07, 2002
Posts: 2205
No! That's the whole point of threads, they are independant threads of control.
They have no relationship with the main thread, so they can continue to run on their own after the main thread dies.
Now, there is the concept of a daemon thread. You can set a thread to be a daemon thread before you start it. When a thread is a daemon thread, it will continue to run until there are no more user threads running. At that point, the JVM will quit. Another way to state it is that, the JVM continues to run only as long as there are user threads running.
In your example, you could test this out by making each of the 3 threads you spawn a daemon thread, and making them all run infinate loops. Then let the main thread quit. When it does, you will see the whole JVM quits, even though the other 3 threads were still active.


Rob
SCJP 1.4
Mr. C Lamont Gilbert
Ranch Hand

Joined: Oct 05, 2001
Posts: 1158

Depends on wether those spawned threads are daemon threads or not.
 
 
subject: purpose of join
 
Threads others viewed
Interesting Ques in Threads?????
String puzzle
How can I determine when my Threads are complete?
how it works---join(),thread class.
Question on Thread
developer file tools

cast iron skillet 49er

more from paul wheaton's glorious empire of web junk: cast iron skillet diatomaceous earth rocket mass heater sepp holzer raised garden beds raising chickens lawn care CFL flea control missoula heat permaculture