• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Thread - The # between static synchronized and non static synchronized

 
Reda Mokrane
Ranch Hand
Posts: 237
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 49
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 237
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
object locks and class locks...
thank you Alex.
 
MrShahid khan
Greenhorn
Posts: 14
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 237
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

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
Posts: 464
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 50
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic