This week's book giveaway is in the Agile and other Processes forum.
We're giving away four copies of The Mikado Method and have Ola Ellnestam and Daniel Brolund on-line!
See this thread for details.
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes Question on sleep() method from dan's Big Moose Saloon
  Search | Java FAQ | Recent Topics
Register / Login


Win a copy of The Mikado Method this week in the Agile and other Processes forum!
JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Reply Bookmark "Question on sleep() method from dan Watch "Question on sleep() method from dan New topic
Author

Question on sleep() method from dan's

aishwarya mathur
Greenhorn

Joined: Sep 03, 2004
Posts: 22
Please have a look at the below code:


I thought as sleep() is a static method,it should always be invoked as Thread.sleep(),also I considered the syntax for sleep() above code results in compiler error... But it isn't it...why? Please put some light into it.
Sandeep Jindal
Ranch Hand

Joined: Aug 25, 2003
Posts: 180
Hi Aishwarya,

The sleep method is static method of Thread class. Thats very true.
But who says that static method can only be called using ClassName.staticMethod()

You can always call static method from the instance. So you code:
sleep(500) is something like this.sleep(500);

which is very well justified.

Hope this clears.

Regards,
Sandeep Jindal
marc weber
Sheriff

Joined: Aug 31, 2004
Posts: 11343

As a static method, it's good coding practice to call sleep() from the parent class Thread, but this is not required.

EXAM TIP: Note that sleep always executes on the currently running Thread. So when sleep() is called using a specific instance of Thread, it can be misleading. For example, if you have two Threads, t1 and t2, and within t1 is the statement, t2.sleep(), then it might appear that t2 is being put to sleep. But actually, the current Thread (t1) is put to sleep -- it just happened to call the static sleep() method from another instance.
[ September 16, 2004: Message edited by: marc weber ]

"We're kind of on the level of crossword puzzle writers... And no one ever goes to them and gives them an award." ~Joe Strummer
sscce.org
Sandeep Jindal
Ranch Hand

Joined: Aug 25, 2003
Posts: 180
Hi Marc,

Thats nice explaination. Thats clears my boubt that why my IDEs give warnings when i used call a static method from an instance variable, here is the catch.

Regrads
Sandeep Jindal
 
I agree. Here's the link: http://ej-technologies/jprofiler - if it wasn't for jprofiler, we would need to run our stuff on 16 servers instead of 3.
 
subject: Question on sleep() method from dan's
 
Similar Threads
thread calling sleep but not blocking
override sleep method
daemon thread misbehaving
Marcus problem
Hi rahul, please help me!!!!!