aspose file tools*
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes Thread - The # between static synchronized and non static synchronized Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Spring in Action this week in the Spring forum!
JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Bookmark "Thread - The # between static synchronized and non static synchronized" Watch "Thread - The # between static synchronized and non static synchronized" New topic
Author

Thread - The # between static synchronized and non static synchronized

Reda Mokrane
Ranch Hand

Joined: Jul 25, 2001
Posts: 237
hi all,
what's the difference of these static synchronized and non static synchronized?
why the output is # ?
here is the code for the static synchronized

here is the code for the non static
Alex Sbityakov
Ranch Hand

Joined: Jul 23, 2001
Posts: 49
I think the difference is that, the first code defines a class lock. So, when you instantiate two objects of the same class, the second string must wait for the first to finish, since it is unable to access the class lock.
In the second example, you have object locks. Since you have two different objects, nothing prevents the two threads fom running concurrently.
Correct me if I'm wrong,
Alex
Reda Mokrane
Ranch Hand

Joined: Jul 25, 2001
Posts: 237
object locks and class locks...
thank you Alex.
MrShahid khan
Greenhorn

Joined: Jul 12, 2001
Posts: 14
Alex is right
u cannot execute non-static synchronized methods simultaneouly for the same object
whereas for the static sync methods since they are assoiciated with the class they cannot be executed for the class simultaneoulsy
Reda Mokrane
Ranch Hand

Joined: Jul 25, 2001
Posts: 237

For a static method, a " lock " is obtained for the class before the execution of the method.
Correct me if I'm wrong.
Ragu Sivaraman
Ranch Hand

Joined: Jul 20, 2001
Posts: 464
Before entering the synch code, the thread should have the
object or class lock. Thats how semaphores work (monitors in java)
HTH
Rashmi Hosalli
Ranch Hand

Joined: Jun 25, 2001
Posts: 50
Alex,
Can two threads run concurrently?
and MrShahid khan,can you please explain more clearly...I am a bit confused here.
Thanks,
Rashmi

 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Thread - The # between static synchronized and non static synchronized