tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Erik Price <>
Subject Re: about singletons (ot)
Date Wed, 29 Jan 2003 20:26:18 GMT
So you mean that the original author (mike jackson) was saying that he 
used synchronized code blocks to apply a finer level of detail in 
specifying what is synchronized and what isn't, as opposed to just 
declaring an entire method synchronized?

I understand that synchronization implies a performance penalty, but I 
wasn't sure what the advantage to using synchronized blocks over 
synchronized methods was.


Tobias Dittrich wrote:
> The reason why you don't want to use synchronized methods is that a
> synchronized block can only be executed by one thread at a time. Every other
> thread wanting to access this method will be blocked during this time (well,
> basically). So you want to try to keep the synchonized blocks as small as
> possible.
> Having said that I wonder weather performance is an issue in the singleton
> vs only-static discussion. Is there a significant difference in execution
> speed? After all one has to make one additional method call every time when
> accessing a singleton method (the getInstance() which is  synchronized,
> too). And since we're off topic anyway: is a call to a static method faster
> than a "normal" one to an object (well, I mean the overhead from the method
> call, not the execution speed of the method body ... )?
> Cheers
> Tobi
> From: "Erik Price" <>
> To: "Tomcat Users List" <>
> Sent: Wednesday, January 29, 2003 1:46 PM
> Subject: Re: about singletons (ot)
>>Mike Jackson wrote:
>>>The difference is that if you use a singleton there's one instance.  If
>>>is static then you only have one copy.  Usually when you use a singleton
>>>it's to
>>>control access to some resource, the intent is that you use the
> singleton
>>>and some
>>>synchronized calls (note I don't mean synchronized methods, but
> synchronized
>>>blocks) to control threads using that resource.
>>Why could you not use synchronized methods?
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message