It is not necessary to both synchronize the method and synchronize on an object. In fact, public class classExample { synchronized void process () { doSomething(); } } is equivalent to: public class classExample { void process () { synchronized(this) { doSomething(); } } } The time you normally want the Object Synchronization is if you are trying to synchronize on a resource from more than one class, like: public class classOne { protected Object lock; protected Object value; Object get () { synchronized(lock) { return value; } } } public class classTwo extends classOne { void put (Object value) { synchronized(lock) { this.value = value; } } } These are obviously contrived examples, but I hope they help. (*Chris*) ----- Original Message ----- From: sanjuktas <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Tuesday, March 09, 1999 12:50 AM >whilew synchronizing a thread why is it necessary to synchronize on a obj >when it is already inside a synchronized method ? > >Iis it not that it belongs to the synchronized block and thus have mutual >exclusion. ? > > >ex: public class classEexample{ > > synchronized void process(){ > > synchronized(the class lock){ > > > } > >} > > >Thanks > > >SANJUKTA > >___________________________________________________________________________ >To unsubscribe, send email to [EMAIL PROTECTED] and include in the body >of the message "signoff SERVLET-INTEREST". > >Archives: http://archives.java.sun.com/archives/servlet-interest.html >Resources: http://java.sun.com/products/servlet/external-resources.html >LISTSERV Help: http://www.lsoft.com/manuals/user/user.html > ___________________________________________________________________________ To unsubscribe, send email to [EMAIL PROTECTED] and include in the body of the message "signoff SERVLET-INTEREST". Archives: http://archives.java.sun.com/archives/servlet-interest.html Resources: http://java.sun.com/products/servlet/external-resources.html LISTSERV Help: http://www.lsoft.com/manuals/user/user.html